java史上最牛的代码 java高性能代码
我是菜鸟,想问JDK和JBuidler的关系
JDK是个核心,JBuilder是个工具,只装JDK的话用文本也能编程序。JDK和JBuilder的关系就像Dos和windows的关系一样。JBuilder只是放便我们编程,我们在JBuilder做的东西,其实在JBuilder背后生成了代码了。
成都创新互联公司提供高防服务器租用、云服务器、香港服务器、成都天府联通服务器托管等
初学者用JC和JBuilder,JC用于控制台编程(初学中不涉及GUI的用JC,否刚用JBuilder)GUI:应用图形界面。
JAVA语言的历史
Java从1995诞生至今,只有10年左右了,和C,C++这些老大哥比起来年轻了很多,哲学上说任何事物的产生都是必然的,Java也不例外了,Inter的迅猛发展导致了Java的迅猛发展,那句成语是怎么说来着,水涨船高,Java自然成为网络世界最受欢迎的语言了,当然Java的发展另一方面也是长期在微软压迫下的软件世界的反抗了,McNealy,Sun的CEO、总裁兼董事长。
他曾经狂傲的说:“摧毁微软是我们每个人的任务。
”这位英勇的硅谷英雄,似乎带头起义,试图组织一个反微软阵线联盟,以对抗微软这股庞大的托拉斯恶势力。
他时常口出惊人之语,在公开场合大肆的批评微软,并曾经说微软的.NET是.NOT;
1.Java的产生
Java来自于Sun公司的一个叫Green的项目, 其原先的目的是为家用消费电 子产品开发一个分布式代码系统, 这样我们可以把E-mail发给电冰箱、 电视机等家用电器, 对它们进行控制, 和它们进行信息交流。
开始, 准备采用C++,但C++太 复杂, 安全性差, 最后基于C++开发一种新的语言Oak(Java的前身), Oak是一种用于网络的 精巧而安全的语言, Sun公司曾依此投标一个交互式电视项目, 但结果是被SGI打败。
可怜的Oak几乎无家可归, 恰巧这时Mark Ardreesen开发的Mosaic和Netscape启发了Oak项 目组成员, 他们用Java编制了HotJava浏览器, 得到了Sun公司首席执行官Scott McNealy的 支持, 触发了Java进军Inter。
Java的取名也有一些趣闻, 有一天, 几位Java成员组的 会员正在讨论给这个新的语言取什么名字, 当时他们正在咖啡馆喝着Java(爪哇)咖啡,有一 个人灵机一动说就叫Java怎样, 得到了其他人的赞赏, 于是, Java这个名字就这样传开了 。
2.Java的历史:1995年5月23日,Java语言诞生
1996年1月,第一个JDK-JDK1.0诞生
1996年4月,10个最主要的操作系统供应商申明将在其产品中嵌入JAVA技术
1996年9月,约8.3万个网页应用了JAVA技术来制作
1997年2月18日,JDK1.1发布
1997年4月2日,JavaOne会议召开,参与者逾一万人,创当时全球同类会议规模之纪录
1997年9月,JavaDeveloperConnection社区成员超过十万
1998年2月,JDK1.1被下载超过2,000,000次
1998年12月8日,JAVA2企业平台J2EE发布
1999年6月,SUN公司发布Java的三个版本:标准版、企业版和微型版(J2SE、J2EE、J2ME)
2000年5月8日,JDK1.3发布
2000年5月29日,JDK1.4发布
2001年6月5日,NOKIA宣布,到2003年将出售1亿部支持Java的手机
2001年9月24日,J2EE1.3发布
2002年2月26日,J2SE1.4发布,自此Java的计算能力有了大幅提升
2004年9月30日18:00PM,J2SE1.5发布,是Java语言的发展史上的又一里程碑事件。
为了表示这个版本的重要性,J2SE1.5更名为J2SE5.0 题外话:1.微软与Sun的纠纷Java诞生的1995年,正是微软在软件产业地位达到巅峰的时代,Windows 95发布时的风光场面给人们留下的深刻印象至今难忘。
尽管如此,作为最卓越的技术领袖,比尔?盖茨仍然敏锐地注意到Java。
当他了解了Java的一些细节之后,给予了这样的评价:“Java是很长时间以来最优秀的程序设计语言。
”基于此,微软于1996年3月申请并获得了Java许可证。
微软对于Java的这一热情态度在当时大大提高了人们对Java的兴趣和信心,但也有不少人担心微软会依靠自己强大的影响力在标准之外另立标准,从而破坏Java的纯洁性。
果然,从1997年发布Visual J++的第一个版本开始,微软就开始在Java中掺入自己的私有扩展。
这毫无疑问引起Sun的高度重视。
1997年10月,Sun向美国加州地方法院起诉微软公司违反两公司就微软使用Java技术所签定的合同,指控微软公司在自己的Java产品中做了“不恰当的修改”,违反了合同中承诺向用户提供Java兼容产品的条款。
这一官司旷日持久,直到2001年1月双方达成和解,微软将继续提供采用Sun开发的Java技术的现有产品(包括测试版)。
不过,Sun有限制地仅对包括Java 1.1.4的微软产品提供许可。
到了2001年7月,微软公布新版的Windows XP将不再支持Sun的JVM,并且推出了.NET平台与Java分庭抗礼。
现在回过头去看,当时的这一场官司对Java世界产生了深远的影响。
如果没有这一场官司,也许很多Java程序员都在使用Visual J++,基于WFC开发Windows客户端程序,同时不得不面对被两个不同的事实标准所分裂的Java世界,/*个人评论,请勿引用个人看来微软果然老奸巨猾,产品不怎么样,但是打击对手的本领却是一般的公司难以做到的,VJ++这一招厉害,让原来的很多Java程序员改行用C#了, *** 厉害,这一点上真的很佩服,比尔也不是图有虚名的,一个字:牛!!微软当然知道自己理亏嘛,结果肯定赔点钱了事,不过目的已经达到,赔点钱无所谓,反正有的是钱嘛,*/2003年4月2 日,Sun与微软达成16亿美元的法律和解。
如果不是晚了一天,许多人会以为这是一个在4月1日愚人节开的玩笑。
尽管当时所有人都像是看到“太阳从西边出来了”那样张大了嘴巴,但这的确是事实。
根据两家公司达成的版权协议,双方会为采用对方的技术而支付专利费用,微软向Sun提前支付3.5亿美元使用费,Sun则承诺,如果Sun集成微软的某些技术,也会向微软付款。
毫无疑问,“私下了结”的方式对双方而言都是最好的结果。
就在协议签署的当天,在美国旧金山由Sun和微软为“抛弃十年恩怨、携手合作“举行的新闻发布会上,尽管比尔.盖茨没有到场,但这并没有防碍现场看起来异常轻松的气氛。
麦克尼利和鲍尔默各自穿了一件密歇根州底特律“Red Wings”曲棍球队的运动服,并谈及了一起在哈佛大学读书的经历,麦克尼利还说:“当时我们两人是非常要好的朋友,当然我们也有吵架的时候。
”人与人当然可能成为终生的知己,但是公司与公司之间有的只能是利益上的分分合合。
2.James Gosling
Java之父(不怎么喜欢这样的称呼,老土,不过人比较猥琐吧,呵呵,大师都比较猥琐吧); 作为Java之父,James Gosling的名字可谓是耳熟能详。
当人们评论一种编程语言时,总喜欢捎带着把下蛋的母鸡一起带上。
Java做为中国的编程语言学习者餐桌上有限的那么几样餐点中的流行款式,自然是让James Gosling风光不已。
虽然James Gosling现在已经不是领导Java发展潮流的领军人物了,做为Sun的开发者产品组的CTO,怎么算来也是身居高位了,俗事缠身吧,但是这并不妨碍其对于Java一如既往的爱护,表达着各式各样鲜明的观点,引发一场又一场的争论。
James Gosling是很爱Java的——是啊,哪有当父母的不爱自己的孩子的呢。
James Gosling也是很爱Sun的——是啊,哪有当领导的不爱自己的公司的呢。
于是我们在批评.NET的安全性的队伍前头,在褒扬Java性能的队伍前头,在抨击SWT开倒车的队伍前头,在给NetBeans大唱赞歌的队伍前头,我们都看到了James Gosling的身影。
无论对错、偏见或者固执,至少说明了Gosling的鲜明个性丝毫没有受到年龄的影响。
也许也只有这种天才而偏执的人物才能创造出Java这般伟大的语言来吧 本文来自CSDN博客,出处: ://blog.csdn/cpp_java_man/archive/2006/05/02/705319.aspx
java学习作为一名java初学者,如何快速学习j
那首先来了解一下什么是java:
Java是SUN(Stanford University Network,斯坦福大学网络公司)1995年推出的一门高级编程语言,是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。
那么为什么要使用这个语言呢,Java语言的特点跨平台性,通过Java语言编写的应用程序在不同的系统平台上都可以运行。原理是只要在需要运行java应用程序的操作系统上,先安装一个Java虚拟机(JVM Java Virtual Machine)即可。由JVM来负责Java程序在该系统中的运行。
下面对java学习进行一次史无前例的剖析,细致的讲解零基础的人怎么学习Java。先看下Java在基础阶段的知识点路线图。
内容多吗?不要被吓到了,知识点剖析的比较细,所以看着比较多。不要害怕学不会,经过下面的详解,你就会明白这些知识点都是干嘛的了。
入门阶段,主要是培养Java语言的编程思想。了解Java语言的语法,书写规范等,掌握Eclipse、MyEclipse等开发工具,编写Java代码的能力。学完这个阶段你应该可进行小型应用程序开发并且可以对数据库进行基本的增删改查管理。注意:此阶段知识点的学习,会有真实的项目进行驱动学习,让你轻松理解各知识点。
1计算机基础知识
针对零基础学习的人,从对计算机操作等知识的了解,延伸到Java语言的发展与开发工具的使用上。主要是让你知道怎样执行计算机命令,认识Java这门语言,感受编程语言Java怎么开发程序。
1) 计算机基础
让零基础学习的人先了解计算机相关知识,进而再去了解Java语言。
2) DOS常用命令
了解什么是DOS,并掌握DOS控制台的打开方式,同时熟悉常用的DOS命令,例如:盘符切换、进入指定目录、删除文件等,完成使用DOS命令对计算机进行操作和控制。
3) Java概述
了解Java语言的发展史、Java语言平台版本、Java语言的特点,以及JRE与JDK。JRE是Java的运行环境,JDK是Java开发工具包,它包含了Java的开发工具以及JRE。所以安装了JDK就不用再单独安装JRE了。
4) JDK环境安装配置
了解了什么是JDK,以及JDK的重要性,下一步我们就来学习如何安装和配置JDK环境。在安装JDK之前,我们首先需要下载JDK,针对不同的系统,我们需要下载不用版本的JDK。
5) 环境变量配置
了解path、classpath环境变量,理解path变量和classpath变量的作用,并掌握path变量和classpath变量的配置方式。
6) Java程序入门
当JDK、环境变量配置完毕,我们就可以开始 编写Java程序。编写Java程序可以使用如下几种工具:notepad(微软操作系统自带)、Editplus、Notepad++、Eclipse、MyEclipse,sublime等等。
IntelliJ IDEA工具的使用(重点)
2编程基础
此模块学习是让你了解编程的具体流程,学习Java基础语法的格式等。具体要掌握不同数据类型的变量定义与使用,掌握不同运算符的运算规则,掌握流程控制语句的执行流程,编写方法的声明与调用,创建数组并访问数组元素等知识。
1) 注释
在程序开发工程中,用于解释和说明程序的文字我们称之为注释,Java中的注释分为以下几种:单行注释、多行注释、文档注释。
2) 关键字
了解Java关键字的含义及特点,掌握关键字使用的注意事项。
3) 标识符
了解什么是标识符,标识符的组成规则,以及标识符使用时的注意事项。
4) 常量与变量
理解常量与变量的含义,并掌握常量与变量的区别、变量的定义格式以及变量的赋值。
5) 数据类型
掌握Java语言的数据类型,如基本数据类型:byte、short、int、long、float、double、char、boolean,以及引用类型:类、接口、数组。
6) 运算符
熟练掌握Java中的运算符:算术运算符、赋值运算符、比较运算符、逻辑运算符、位运算符、三目运算符。
7) 流程控制语句
了解什么是流程控制语句,掌握以下流程控制语句:顺序结构、选择结构、循环结构,并能够通过流程控制语句实现特定的功能。
8) 方法
掌握方法的定义及格式,并能正确的调用方法,理解方法的调用过程,同时清楚方法的注意事项;掌握方法重载及其特点。
9) 数组
了解数组的概念,掌握数组的定义格式、静态初始化、动态初始化,并能够理解Java中数组的内存图解。熟练掌握数组的遍历、获取最值、数组元素逆序、数组元素查找、数组排序和二分查找,以及二维数组的定义格式及初始化。
3面向对象
现实世界中,随处可见的一种事物就是对象,对象是事物存在的实体,如人类、书桌、计算机、高楼大厦等。人类解决问题的方式总是将复杂的事物简单化,于是就会思考这些对象都是由哪些部分组成的。通常都会将对象划分为两个部分,即动态部分与静态部分。静态部分,顾名思义就是不能动的部分,这个部分被称为“属性”,任何对象都会具备其自身属性,如一个人,它包括高矮、胖瘦、性别、年龄等属性。然而具有这些属性的人会执行哪些动作也是一个值得探讨的部分,这个人可以哭泣、微笑、说话、行走,这些是这个人具备的行为(动态部分),人类通过探讨对象的属性和观察对象的行为了解对象。
1) 面向对象思想
了解面向过程编程思想,能够通过案例理解Java的面向对象编程思想,了解面向对象开发、设计、特征。
2) 类与对象
了解什么是类,什么是对象,并理解类与对象之间的关系;熟练掌握类的定义、对象内存图等。
3) 成员变量和局部变量
了解什么是成员变量,什么是局部变量,以及从他们在类中的位置、内存中的位置、生命周期、初始化值等方面掌握他们的区别。
4) 匿名对象
了解什么是匿名对象,掌握匿名对象的两种使用情况。
5) 封装
清楚的了解什么是封装,并能够理解封装的优点与缺点,同时掌握封装的原则。
6) this关键字
掌握this关键字的含义与使用。
7) 构造方法
了解什么是构造方法,构造方法的作用,以及与构造方法相关的注意事项。
8) 继承
理解什么是继承,继承的好处以及java中继承的特点和注意事项,继承中成员变量的关系、构造方法的关系、成员方法的关系,方法重写与方法重载的区别。
9) 多态
理解什么是多态,掌握多态案例及成员访问的特点,多态的优点和缺点,多态中的转型问题。
10) 抽象类
了解什么是抽象类,抽象类的特点,抽象类成员的特点。
11) 接口
了解什么是接口,接口的特点,接口成员的特点,类与类、类与接口的关系,以及抽象类与接口的区别。
12) 内部类
什么是内部类,内部类的访问特点,内部类的位置,什么是成员内部类、局部内部类、匿名内部类,以及匿名内部类在开发中的使用。
4、常用类
类库就是Java API(Application Programming Interface,应用程序接口),是系统提供的已实现的标准类的集合。在程序设计中,合理和充分利用类库提供的类和接口,不仅可以完成字符串处理、绘图、网络应用、数学计算等多方面的工作,而且可以大大提高编程效率,使程序简练、易懂。
学习内容:掌握Object类、Scanner类、String类、StringBuffer类、StringBuilder类、Arrays类、基本包装类、正则表达式、Math类、Random类、System类、Date类、DateFormate类、Calendar类,及其常用方法。
5、集合
集合类存放的都是对象的引用,而非对象本身,出于表达上的便利,我们称集合中的对象就是指集合中对象的引用。简单一点就是说,集合是存放数据的容器。
学习内容:什么是集合?数组与集合有什么区别,集合类的特点,掌握Collection接口、Iterator接口、List接口、ListIterator接口、ArrayList类、Vector类、LinkedList类、泛型、Set接口、HashSet类、Map接口、HashMap类、LinkedHashMap类等。
6、IO
IO(Input/Output)是计算机输出/输出的接口。Java的核心库提供了全面的IO接口,包括:文件读写,标准设备输出等等。Java中IO是以流为基础进行输入输出的,所有数据被串行化写入输出流,或者从输入流读入。
1) 异常
了解什么是异常,异常的由来,常见的异常,异常的分类,掌握jvm对异常的默认处理方案,异常的处理方案:try…catch…finally、throws,什么是编译时异常,什么是运行时异常,掌握它们两的区别,throws关键字、throw关键字,以及这两个关键字的区别,熟练掌握自定义异常,异常注意事项。
2) File类
了解什么是File类,File类的用途,掌握File类的方法:createNewFile()、mkdir()、mkdirs()、delete()、renameTo(File dest)、isDirectory()、isFile()、exists()、等方法,以及File类的基本获取功能方法和高级获取功能方法。
3) IO流
了解什么是IO流,IO流的用途;熟练掌握输入流、输出流、字符流、字节流、IO流的常用基类;如何使用字节流读写数据、复制数据;什么是字节缓冲流,如何使用字节缓冲流读写数据;什么是转换流,如何使用转换流更加高效的读写数据,内存操作流、打印流、标准输入输出流、序列化流、Properties集合。
4) IO流练习
(1) 复制文本文件;
(2) 复制图片;
(3) 把ArrayList集合中的字符串数据存储到文本文件;
(4) 从文本文件中读取数据(每一行为一个字符串数据)到集合中,并遍历集合;
(5) 复制单极文件夹;
(6) 复制单极文件夹中指定文件并修改文件名称;
(7) 复制多极文件夹;
(8) 已知s.txt文件中有这样的一个字符串:“hcexfgijkamdnoqrzstuvwybpl”;
(9) 请编写程序读取数据内容,把数据排序后写入ss.txt中;
(10) 获取每次读取数据的行号;
(11) 登录注册IO版。
7、多线程
是指从软件或者硬件上实现多个线程并发执行的技术。具有多线程能力的计算机因有硬件支持而能够在同一时间执行多于一个线程,进而提升整体处理性能。具有这种能力的系统包括对称多处理机、多核心处理器以及芯片级多处理(Chip-level multithreading)或同时多线程(Simultaneous multithreading)处理器。在一个程序中,这些独立运行的程序片段叫作“线程”(Thread),利用它编程的概念就叫作“多线程处理(Multithreading)”。具有多线程能力的计算机因有硬件支持而能够在同一时间执行多于一个线程(台湾译作“执行绪”),进而提升整体处理性能。
1) 多线程
了解什么是线程,什么是多线程,理解java程序的运行原理,掌握多线程的实现方案,如何获取和设置线程名称、线程的生命周期、如何解决线程安全问题、线程同步、Lock锁、死锁问题、线程间通信、线程的状态及状态转换、线程池。
2) 多线程面试题
(1) 多线程有几种实现方案,分别是哪几种?
(2) 同步有几种方式,分别是什么?
(3) 启动一个线程是run()还是start()?它们的区别?
(4) sleep()和wait()方法的区别;
(5) 为什么wait(),notify(),notifyAll()等方法都定义在Object类中;
(6) 线程的生命周期图。
3) 设计模式
了解什么是设计模式,设计模式的分类,熟练掌握单例设计模式(懒汉式、饿汉式)。
8 、网络编程
网络编程最主要的工作就是在发送端把信息通过规定好的协议进行组装包,在接收端按照规定好的协议把包进行解析,从而提取出对应的信息,达到通信的目的。
9、反射
JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。
Java新特性:(重点及理解)
Java7特性重点:
switch支持String、泛型自动类型推断
理解:可catch多个异常,异常之间使用“|”分隔
Java8特性重点:Lambda表达式、接口中的默认方法和静态方法、新的Date API。
大家凑合着看看吧。
视频教程你可以去B站上看一下老杜的159集的视频教程,这套视频教程在B站上的播放量是140多万,你说这套视频教程好不好呢?
本文题目:java史上最牛的代码 java高性能代码
链接分享:http://azwzsj.com/article/ddjhegs.html