JAVA基础PPT

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

JAVA基础篇JAVA优点平台无关性分布式应用多线程纯面向对象应用范围广(1)Java的桌面应用(2)JavaWeb应用(3)Java企业级应用(4)Java嵌入式应用…JAVA编译原理Java编译程序将Java源程序编译成JVM可执行代码Java字节码.JAVA源文件(.java)字节码(.class)运行jvm字节码的工作是由解释器来完成的。解释执行过程分三步进行:代码的装入、代码的校验、和代码的执行。代码的装入:类装载器classloader代码的校验:被装入的代码由字节码校验器进行检查代码执行:1)即时编译方式:解释器先将字节编译成机器码,然后再执行该机器码。2)解释执行方式:解释器通过每次解释并执行一小段代码来完成java字节J2SE的运行环境设置安装JAVASDK(JavaSoftwareDevelopmentKit)通常,我们需要设置三个环境变量:JAVA_HOME、PATH和CLASSPATH1.JAVA_HOME:SDK的安装目录如:c:\java2.PATH:指定一个路径列表,用于搜索可执行文件的。如:d:\oracle\product\10.1.0\Db_2\bin;%JAVA_HOME%\bin3.CLASSPATH:也指定一个路径列表,是用于搜索Java编译或者运行时需要用到的类。如:.;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\rt.jar;JAVA基本数据类型进制二进制、八进制、十进制整型1.byte(1个字节)2.int(4个字节)Integer3.short(2个字节)Short4.long(8个字节)浮点型1.float(4个字节)2.doubleJAVA基本数据类型字符型1.char布尔型1.boolean数制:十进制:10八进制:012十六进制:0x10String函数常用函数indexOf()substring()lastIndexOf()replace()replaceAll()matches()split()toUpperCase()chardata[]={'a','b','c'};Stringstr=newString(data);System.out.println(abc);Stringcde=cde;System.out.println(abc+cde);Stringc=abc.substring(2,3);Stringd=cde.substring(1,2);DateDate类型DateFormat.format(Datedate)Datedate=newDate();//System.out.println(DateFormat.getInstance().format(date));SimpleDateFormatsdf=newSimpleDateFormat(yyyy-MM-ddHH:mm:ss);//MMHHhhSystem.out.println(sdf.format(date));Calendar类型Calendarcal=Calendar.getInstance();cal.set(Calendar.DAY_OF_MONTH,20);GregorianCalendar类型GregorianCalendargc=newGregorianCalendar();gc.setTime(date);数组一维组二维数组三维数组例子:int[]intArr=newint{1,3,4};char[]charArr=newchar{‘a’,’b’};…面向对象类(内部类)访问控制符类:public/protected/对象包重载(多态)继承依赖聚合继承接口接口声明接口实现接口多重实现接口继承抽象抽象类抽象方法集合框架映射(map)、集(set)、列表(list)、树(tree)、数组(array)、散列表(hashtable)集合基类Collection接口是一组允许重复的对象。Set接口继承Collection,但不允许重复。List接口继承Collection,允许重复,并引入位置下标。Map接口既不继承Set也不继承Collection。接口实现历史集合类SetHashSetTreeSetListArrayListVectorLinkedListStackMapHashMapHashtableTreeMapPropertiesCollection接口添加、删除元素booleanadd(Objectelement)booleanremove(Objectelement)查询操作:intsize()booleanisEmpty()booleancontains(Objectelement)Iteratoriterator()Set接口HashSetTreeSet(有序)List接口voidadd(intindex,Objectelement)booleanaddAll(intindex,Collectioncollection)Objectget(intindex)intindexOf(Objectelement)intlastIndexOf(Objectelement)Objectremove(intindex)Objectset(intindex,Objectelement)ListIteratorlistIterator()ListIteratorlistIterator(intstartIndex)ListsubList(intfromIndex,inttoIndex)ArrayList类和LinkedList类Map接口JAVAIOFile对象canRead()canWrite()delete()deleteOnExist()Exists()getAbsoluteFile()length()list()getName()getParent()getPath()listFiles()mkdir()InputStream抽象类及其子类--字节流AudioInputStreamByteArrayInputStreamFileInputStreamFilterInputStreamObjectInputStreamPipedInputStreamSequenceInputStreamStringBufferInputStreamOutputStreamByteArrayOutputStreamFileOutputStreamFilterOutputStreamObjectOutputStreamPipedOutputStream以字节为导向的streamInput和OutputInputStream1)ByteArrayInputStream:把内存中的一个缓冲区作为InputStream使用2)StringBufferInputStream:把一个String对象作为InputStream3)FileInputStream:把一个文件作为InputStream,实现对文件的读取操作4)PipedInputStream:实现了pipe的概念,主要在线程中使用5)SequenceInputStream:把多个InputStream合并为一个InputStreamOutputStream1)ByteArrayOutputStream:把信息存入内存中的一个缓冲区中2)FileOutputStream:把信息存入文件中3)PipedOutputStream:实现了pipe的概念,主要在线程中使用4)SequenceOutputStream:把多个OutStream合并为一个OutStream以Unicode字符为导向的streamInputStream1)CharArrayReader:与ByteArrayInputStream对应2)StringReader:与StringBufferInputStream对应3)FileReader:与FileInputStream对应4)PipedReader:与PipedInputStream对应OutStream1)CharArrayWriter:与ByteArrayOutputStream对应2)StringWriter:无与之对应的以字节为导向的stream3)FileWriter:与FileOutputStream对应4)PipedWriter:与PipedOutputStream对应线程进程、线程(单CPU,多CPU)单线程、多线程单线程代码1多线程代码线程用Thread类创建线程用Runnable接口创建线程start()run()join()线程合并后台线程与联合线程如果我们对某个线程对象在启动(调用start方法)之前调用了setDaemon(true)方法,这个线程就变成后台线程。对于Java程序来说,只要还有一个前台线程在运行,这个进程就不会结束,如果一个进程中只有后台线程在运行,这)个进程就会结束。Pp.join()的作用就是把pp所对于的线程合并到调用pp.join;语句的线程中。使用Runnable接口创建多线程适合多个相同程序的代码的线程去处理同一资源的情况,把虚拟的CPU(线程)同程序的代码、数据有效分离,较好体现了面向对象的设计思想可以避免由于JAVA的继承特性带来的局限。假若一个类已经继承了另一类,则我们只能使该类实现Runnable当线程被构造时,需要的代码和数据通过另一个对象作为构造参数传递时去,这个对象就是实现了Runnable接口。多线程的应用网络聊天程序发送键盘的数据,接收别人发送的数据从键盘上读取输入发送键盘的数据给对方接收对方的数据从键盘上读取输入发送键盘的数据给对方接收对方的数据多线程应用2批量数据copy的问题WEB服务器的请求及处理多线程同步例子演示代码块同步方法块同步产生者与消费者例子一个往消息队列中放入消息一个往消息队列中取出消息消息内容包括产生的ID号及内容三个生产者,三个消费者线程间的通讯wait()//如队列为空,我们可以等待,或队列已经满的时候notify()//通知由wait()而等待的线程,如我们往某个列队中放数据时,这时可以通知。notifyAll()JAVA反射AWTSwingJDBC编程应用程序JDBCMySQLDriverDb2DriverOracleDriverMySQLDb2MySQL连接数据库的步骤注册驱动(只做一次)建立连接(Conntection)创建执行SQL的语句(Statement)执行语句处理执行结果释放资源注册驱动Class.forName(“com.mysql.jdbc.Driver”);推荐这种方式,不会对具体的驱动类产生依赖。DriverManager.registerDriver(com.mysql.jdbc.Driver);会造成DriverManager中产生两个一样的驱动,并会对具体的驱动类产生依赖。System.setProperty(“jdbc.drivers”,“driver1:driver2”);虽然不会对具体的驱动类产生依赖;但注册不太方便,所以很少使用。驱动类型(四种类型)建立连接(Connection)Connectionconn=DriverManager.getConnection(url,user,password);url格式:JDBC:子协议:子名称//主机名:端口/数据库名?属性名=属性值&…User,password可以用“属性名=属性值”方式告诉数据库;其他参数如:useUnicode=true&characterEncoding=GBK。创建执行SQL的语句(Statement)StatementStatements

1 / 63
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功