- 博客(68)
- 收藏
- 关注
原创 MySQL
MySQLSQL:结构化查询语言,可以操作所有关系型数据库数据的存储: 定义的变量存储在内存里面,随着程序的执行完毕而消失javaSE->IO流: 针对文件进行存储,可永久保存,但频繁的使用IO流对数据进行读写,效率低数据库软件: 1.对数据进行永久保存 2.执行效率高 3.方便维护和管理一.创建库* 登录命令 dos:mysql -u roo
2017-09-30 15:00:04 285
原创 反射
反射概念:java反射机制是在运行时,对于任意一个类,都能够知道这个类的所有属性和方法; 对于任意一个对象,都能够调用它的方法和属性。类加载器: 1.Bootstrap ClassLoader :根类加载器 2.Extension ClassLoader :扩展类加载器 3.System ClassLoader :系统类加载器(自己定义的类)步骤:
2017-08-25 18:27:43 214
原创 网络编程(TCP)
网络编程(TCP)客户端:Socket 步骤: 创建一个流套接字并将其连接到指定主机上的指定端口号 Socket(InetAddress,int port); 获取输出流 getOutputStream(); 写数据 write(); 关闭资
2017-08-25 18:26:54 248
原创 网络编程(UDP)
网络编程(UDP)网络编程的三要素: 1.IP:用来标识一台计算机(唯一性) 2.(逻辑)端口:用来标识某一进程的唯一性 3.传输协议:UDP/TCPDOS:ipconfig /all :查看IP地址DOS: hostnmae :查看主机名UDP: 俩端(服务端,客户端)不需要建立就连接 传输的数据大小有限制,不超过64KB 不可靠连接
2017-08-25 18:26:20 272
原创 定时器
定时器可以进行任务的重复操作,定时器要依赖于两个类: Timer和TimerTask可安排任务执行一次,或者定期重复执行构造方法: public Timer()创建一个新计时器。 public void schedule(TimerTask task, Date time)安排在指定的时间执行指定的任务 参数1:task - 所要安排的任务
2017-08-22 16:56:21 207
原创 线程池(实现多线程的第三种方式)
线程池(实现多线程的第三种方式)**步骤:** 1:自定义一个类,实现Callable接口 2:实现里面的call方法 3:主线程中创建线程对象 4:用线程池对象提交任务 5:提交后结束线程池启动新的线程,很耗费成本,线程池有一个好处: 里面可以存储多条线程,每一条线程执行完毕,不会变成垃圾,等待下次继续使用!使用线程池可以解决很多问题:
2017-08-22 15:31:26 861
原创 线程组
线程组表示一个线程的集合常用方法: public final ThreadGroup getThreadGroup() 返回该线程所在的线程组 public final String getName() 返回此线程组的名称 public ThreadGroup(String name) 构造一个新的线程组 public fina
2017-08-22 15:30:23 190
原创 等待唤醒机制
等待唤醒机制分析:当前的资源情况: Student: 共同的资源 setThread:设置学生数据(生成者) getThread:获取学生数据(消费者) StudentDemo(测试类)问题1: 按照生产消费模式:分别进行产生数据和消费数据,通过测试打印出来:
2017-08-21 18:29:35 249
原创 如何解决多线程不安全
如何解决多线程不安全比如买票,会出现一票多求,负票等问题解决; java提供了一个同步机制(同步锁):synchronized :包装其中的多条语句 例: synchronized(对象){ 多条语句对共享语句进行操作 } 对象:需要使用同一个对象,封装到外面 注意:任意对象,但必须创建,也必须存在线
2017-08-21 16:45:12 495
原创 线程
线程单线程:程序的执行路径只有一条路径 多线程:程序的执行路径有多条看两个名词: 并行和并发:同时的意思 前者是逻辑上的同时,指的是在同一个时间内(时间段)同时发生 后者是物理上的同时,指的是在同一个时间点(10:30:30进行开抢:购物商城…)上同时发生面试题: jvm:java虚拟机是多线程的吗? 程序能够被
2017-08-21 15:25:56 172
原创 Properties 属性集合类
Properties 属性集合类 属性集合类(用作txt格式的配置文件),这个类是Hashtbale的子类,而Hashtable也Map下面的双列集合 注意:该类没有泛型 Properties里面的特殊功能: public Object setProperty(String key,String value):和添加相关的: public Set<Str
2017-08-16 16:55:43 441
原创 IO流(ObjectStream流数据)
IO流(ObjectStream流数据)序列化流:将对象按照流的形式(在网络进行传输等等)封装成流数据:对象--->流数据:ObjectOutputStream反序列化流:将网络传输中的流数据又封装成了一个对象: 流数据-->对象 ObjectInputStream注意: 自定义的类通过实现 java.io.Serializable 接口以启用其序列化功能,未实现此接口的类将无法使其任
2017-08-16 16:54:57 277
原创 IO流(SequenceInputStream合并流)
IO流(SequenceInputStream合并流)合并流,将一些输入流合并起来,对输出流没有作用,表示其他输入流的逻辑串联构造方法 public SequenceInputStream(InputStream s1,InputStream s2)合并流的另一种构造方式: public SequenceInputStream(Enumeration e)
2017-08-16 16:54:22 232
原创 IO流(RandomAccessFile随机访问流)
IO流(RandomAccessFile随机访问流) 并不是实际意义上的流 类的实例支持对随机访问文件的读取和写入融合了InputStream和OutputStream两个类构造方法: public RandomAccessFile(String name,String mode): mode:里面的模式:只记住:常用的就:rw:既可以读,也可以写常用方
2017-08-16 16:53:47 250
原创 IO流(标准输入输出流)
IO流(标准输入输出流)标准输入流和标准的输出流 public static final InputStream in :标准字节输入流 public static final PrintStream out :标准字节输出流 InputStream in = System.in; 字节输入流 PrintStream out = System.out ;:字节打
2017-08-16 16:53:08 370
原创 IO流(内存操作流)IO流(打印流)
IO流(内存操作流)用来存储内存中的临时信息,程序结束的时候,内存流就消失了!字节数组操作内存流: ByteArrayInputStream ByteArrayOutputStream字符数组操作的内存流 CharArrayReader CharArrayWriter字符串 StringReader S
2017-08-16 16:52:38 409
原创 IO流(操作基本数据类型的流)
IO流(操作基本数据类型的流) DataInputStream :数据输入流 DataOutputStream:数据输出流代码: public static void main(String[] args) throws IOException { write(); read();}private static void read() throws IO
2017-08-14 22:46:37 1056
原创 IO流(缓冲流)
IO流(缓冲流) 是一种高效流**字节缓冲流**: BufferedInputStream:字节缓冲输入流 BufferedOutputStream:字节缓冲输出流 构造方法: public BufferedInputStream(InputStream:字节输入流 out); **字符缓冲流**: Bufered
2017-08-14 18:51:28 272
原创 IO流(字符流:转换流)
IO流(字符流:转换流)**字符输入流:** *public InputStreamReader(InputStream in):默认的编码格式(一般使用这个)* public InputStreamReader(InputStream in,String charsetName):指定的编码格式 字符输入流= 字节输入流+ 编码表:将字节流转换成字符
2017-08-14 18:21:47 197
原创 递归
递归方法本身调用方法的一种现象! 方法嵌套不属于递归递归的注意事项: 1)递归必须是出口条件,还的定义方法 2)递归的次数不宜过多,否则则会出现内存溢出! 3)构造方法中不能中出现递归需求:请大家把d:\\目录下所有的java结尾的文件的绝对路径给输出在控制台。代码:public static void
2017-08-14 16:29:28 186
原创 IO流(字节输入流)
IO流(字节输入流)步骤: 创建输入流对象 读数据:通过读取文件,显示在控制台 释放资源读取数据:1.public int read():一次读取一个字节 核心部分: int by = 0; while( (by = fis.read()) != -1){
2017-08-10 18:45:55 158
原创 IO流(字节输出流)
IO流(字节输出流) 设备和设备之间的传输(读写) IO流的分类: 按流的方向分为: 输入流 --->读取数据 输出流 --->写出数据 按数据类型: 字节输入流:InputStream ----读数据 字节输出流:Outp
2017-08-10 18:45:29 142
原创 File
File要学习IO流,就必须掌握硬盘上的路径的表形式,Java就提供了一个File类:文件件和目录路径名的抽象表示形式构造方法: public File(String pathname):将该路径名称封装成了一个File实例 例: File f = new File(“e:\demo\a.txt”); File(String parent, String
2017-08-10 18:45:01 255
原创 异常(抛出异常:throws)
throws(抛出异常)处理异常的第二种方式: throws:抛出异常为什么要使用throws?当我们处理异常,如果没有一些权限处理异常,那我们就不处理了,通过开发工具,提示抛出异常,这个时候就可以使用throws.注意:不建议在main方法中抛出异常面试题: throws和throw的区别?(100%会问到!) throws:用法:一般在方法声明上抛出
2017-08-10 18:44:35 540
原创 异常(捕获异常)
Throwable 是所有异常的超类error:这种问题是一个严重问题,一般出现这种问题,需要一起解决(程序员只能避免严重问题),比如:内存溢出(OutOfMemory);Exception(异常): 编译时期异常:如果程序员不管这个,根本没有办法运行;需要去解决 运行时期异常(RuntimeException):只要不是编译时期异常,都属于异常异常;一般情况,是因为们的代码不
2017-08-10 18:43:49 233
原创 Collections
CollectionsCollections:对集合操作的工具类(静态方法)----(类似)Arrays:对数字进行操作的工具类Collections和Collection的区别? Collection:集合:顶层次的一个根接口,有两个子接口:List,Set Collections:对集合操作的工具类,具体的类:它针对集合进程操作!静态方法: public st
2017-08-10 18:42:48 131
原创 TreeMap
TreeMap基于红黑树结果俩种排序方式: 自然排序 :实现Comparable接口,需要重写compareTo方法 比较器排序 :Comparaor(重写compare方法)需求:输入学生类 ,姓名和年龄 ,String类朝代,并排序代码: public static void main(String[] args) { TreeMap<Student,String>
2017-08-10 18:42:19 137
原创 HashMap
HashMap(HashTable,LinkedHashMap)HashMap集合是哈希表组成,并且他们的键允许null,值也可以允许null,该类与Hasbtable(不允许有null键和null值,)类似,该类不能保证被元素的顺序恒久不变.ArrayList集合嵌套HashMap集合遍历 :会经常使用!需求: 假设ArrayList集合的元素是HashMap。有3个。
2017-08-10 18:41:24 132
原创 Map
Map(HashMap)对于Map集合,针对的是键有效,键是唯一的,值可以重复面试题: Map集合和Collection区别? 对于Map集合,是一种键值对的一种映射关系,键是唯一的,值是可以重复的!(双列集合) 简单记:夫妻对 hashMap,treeMap 子实现类 Collection:集合框架的顶层的根接口,有两个子接口:List(元素
2017-08-08 13:34:32 163
原创 TreeSet的俩种排序方法
TreeSet的俩种排序方法分为自然排序和比较器排序用TreeSet集合存储自定义对象,自定义的队形一定要实现Comparable接口(自然排序),还要在自定义对象的类中重写compareTo方法;Comparator接口(比较器排序)。自然排序: TreeSet<Sdudent> ts = new TreeSet<Sdudent>();比较器排序: 1,TreeSet<Sdudent> ts
2017-08-08 13:00:57 290
原创 Set
SetList:是有序的(存储与取出是一致的)集合中的元素可以重复Set: 是无序的(存储和取出不一致)集合中的元素不可以重复HashSet: 它不保证Set的迭代顺序,特别是它不保证该顺序恒久不变HashSet里面的一些方法: add(); HashSet的add()方法,底层依赖于HashMap()(属于Map接口的实现类)的put(Key,Value), 首先判
2017-08-03 19:22:00 152
原创 泛型
泛型需求:用ArrayList集合(只能用来存储引用类型)存储字符串元素给集合中存储了字符串类型和Integer类型,在最终遍历完成之后,报异常,原因是有两种类的元素,最终用String去接收,只能接受跟它相关的类型的元素! 回想一下数组: //定义一个字符串数组: String[] strArray = {"hello","world","java"};
2017-08-03 19:18:06 113
原创 LinkedList实例
LinkedList需求: 使用LinkedList集合类模拟栈结构的特点:先进后出意思: 自定义一个集合类,然后在添加方法,是用LinkList内部方法进行调用,LinkedList方法中有一个addFirst方法实现代码:import java.util.LinkedList;public class Mystack { private LinkedList list
2017-08-03 19:14:44 329
原创 java.util.ConcurrentModificationException:并发修改异常!
java.util.ConcurrentModificationException:并发修改异常!产生并发修改异常的原因是什么: 当我们给集合中添加了新的字符串,迭代器不知道集合中是否添加了一个新的元素,所以产生这个异常!解决: 迭代器依赖于集合存在,给集合中添加元素,要么就是通过集合遍历(普通for),通过集合添加(添加在该集合的末尾);通过迭代器遍历,迭代器添加(添加到
2017-07-31 17:50:00 247
原创 List子类 ArrayList Vector 和 LinkedList
List子类 ArrayList Vector 和 LinkedList List集合的子类遍历集合中的元素可以使用的任何迭代遍历方式面试题: List子类的特点? ArrayList 底层数据结构是数组,查询快,增删慢,线程不安全,不同步,效率高 vector 底层数据结构是数组,查询快,增删慢,线程安全,同步,效率低 Linked
2017-07-31 17:26:42 283
原创 List 和 ListIterator
ListList集合是Collection集合的子接口,你里面的iterator()方法在我的List也可以用! List集合是一个有序的集合,是可以有重复的元素 有序:指的是元素存储和取出是一致的! Set集合:是另一个子接口:元素不能重复! treeSet hashSetList集合的特有功能:添加功能: void add(int index
2017-07-31 16:35:57 412 1
原创 Collection 和 Iterator
Collection代表的是顶层次的一个根接口! jdk不提供此接口的任何直接实现,而是子接口的具体类进行实现!和添加功能相关的方法: boolean add(Object obj):添加一个元素 boolean addAll(Collection c):添加一个集合中的元素 和删除功能相关的方法: boolean remove(Object
2017-07-31 15:49:29 311
原创 正则表达式
Pattern正则表达式的编译表示形式。字符: x 字符x; a 表示字符'a' \\ 反斜线字符 \t 制表符 ('\u0009') \n 新行(换行)符 ('\u000A') \r 回车符 ('\u000D') **字符类** [abc]
2017-07-29 17:24:17 117
原创 Date和String相互转换(重点)
Date和String相互转换(重点)**桥梁**: SimpleDateFormat**作用:** SimpleDateFormat 是一个以与语言环境有关的方式来格式化和解析日期的具体类。它允许进行格式化(日期 -> 文本)、解析(文本 -> 日期)和规范化。SimpleDateFormat类的使用:构造方法: public SimpleDateFormat()用默认的模式和默认
2017-07-29 17:21:26 783
原创 Date
Date类 Date 表示特定的瞬间,精确到毫秒。构造方法: public Date()分配 Date 对象并初始化此对象,以表示分配它的时间(精确到毫秒)。 public Date(long date)分配 Date 对象并初始化此对象,以表示自从标准基准时间(称为“历元(epoch)”,即 1970 年 1 月 1 日 00:00:00 GMT)
2017-07-29 17:19:06 235
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人