
JavaSE
Bleachswh
To Live is To Change The World!
展开
-
关于Class.getResource和ClassLoader.getResource的路径问题
通俗易懂,但是没有讲内部的实现原理: http://www.cnblogs.com/yejg1212/p/3270152.html对ClassLoader的理解: java是面向对象语言,面向对象的语言的宗旨就是万事万物皆对象,那么类也是一个对象,类里面的属性和方法也是对象。java里面的所有的类都是Class类的对象,这个this.class是获得这个类相对于Class类的对象。后面的方法是获得转载 2016-03-30 12:18:13 · 757 阅读 · 0 评论 -
Java SE 基础
http://blog.youkuaiyun.com/ch717828/article/details/46892051原创 2016-12-03 20:44:36 · 756 阅读 · 0 评论 -
Java IO体系结构图
输入流 InputStream系列是JDK1.0开始的,Reader系列是JDK1.1开始的 字节流中,常用的是FileInputStream和BufferedInputStream 字符流中,常用的是FileReader和BufferedReader 当需要指定输入流的编码时,用到的是InputStreamReader,它是字节转向字符流的桥梁 LineNumberReader对BufferedR原创 2016-11-30 16:59:52 · 1847 阅读 · 0 评论 -
jdk1.6及之前版本IO流异常处理标准代码
public void demo() throws FileNotFoundException, IOException { // 抛出异常 FileInputStream fis = null; // 赋初值 FileOutputStream fos = null; try { fis = new FileInputStream("a.txt");原创 2016-11-30 14:45:02 · 1108 阅读 · 0 评论 -
集合异同点分析
ArrayList、Vector、LinkedList从线程安全、底层数据结构、JDK版本三方面分析。 (1) ArrayList、Vector共同点: 底层数据结构都是数组,查询修改快,增删慢。 不同点: ArrayList线程不安全,效率高;JDK1.2版本出现; Vector线程安全,效率低;JDK1.0版本出现。 (2) ArrayList、LinkedList共同点: 线程不原创 2016-11-29 21:04:27 · 607 阅读 · 0 评论 -
Java集合体系结构图
实线代表继承,虚线代表实现。单列集合 ListSet 双列集合 Map 对比 区别 List Set Map 重写toString()方法 抽象类AbstractCollection中重写 抽象类AbstractCollection中重写 抽象类AbstractMap类中重写 other Set的底层是基于Map实现的 Collection的概念是JD原创 2016-11-29 18:43:19 · 3415 阅读 · 0 评论 -
遍历Map的两种方法
通过Map.keySet遍历key和value(普遍使用) for (String key : map.keySet()) { System.out.println("key= "+ key + " and value= " + map.get(key)); }通过Map.entrySet使用iterator遍历key和valueIterator<Map.Entry<String, S原创 2016-03-30 10:37:06 · 748 阅读 · 0 评论 -
Map.Entry<K,V>简析
Map.Entry<K,V>实际上是内部的一个静态类,作用是封装Map集合中的一组“键值对对象”。从源码简单来看,这个内部类是如下的结构:// 基于jdk1.8 // 代码是简写,抽出有意义部分// 接口中如下: interface Map<K,V>{ interface Entry<K,V>{ } }// 实现类中如下: class HashMap<K,V> implements原创 2016-11-29 19:43:16 · 4962 阅读 · 2 评论 -
Java多线程-线程间通信Demo
三个及以上线程间通信(以三个为例)法① : 利用jdk1.5新特性(互斥锁)package com.demo.reentranlock;import java.util.concurrent.locks.Condition; import java.util.concurrent.locks.ReentrantLock;/** * * <p> * Title: ReentranLockDem原创 2016-11-28 18:17:48 · 587 阅读 · 0 评论 -
Java多线程-线程安全-出售火车票Demo
法①:继承Thread类package com.thread.demo;/** * * <p> * Title: Ticket_Thread_Demo * </p> * <p> * Description: 100张票通过四个售票厅售出 * </p> * <p> * Company: buaa * </p> * * @author 夜色 * @date 2016年11月2原创 2016-11-28 16:48:52 · 1276 阅读 · 0 评论 -
Java混淆点、注意点
public static void main(String[] args) { String str = ""; String[] s = str.split("-"); System.out.print(s.length); }结果为1原创 2016-11-08 18:49:42 · 360 阅读 · 0 评论 -
java.net.SocketException中的异常
java.net.BindException:Address already in use: JVM_Bind。 该异常发生在服务器端进行new ServerSocket(port)(port是一个0,65536的整型值)操作时。异常的原因是以为与port一样的一个端口已经被启动,并进行监听。此时用netstat –an命令,可以看到一个Listending状态的端口。只需要找一个没有被占用的端口原创 2016-07-05 20:57:02 · 858 阅读 · 1 评论 -
java深复制与浅复制
1.浅复制与深复制概念⑴浅复制(浅克隆) 被复制对象的所有变量都含有与原来的对象相同的值,而所有的对其他对象的引用仍然指向原来的对象。换言之,浅复制仅仅复制所考虑的对象,而不复制它所引用的对象。 ⑵深复制(深克隆) 被复制对象的所有变量都含有与原来的对象相同的值,除去那些引用其他对象的变量。那些引用其他对象的变量将指向被复制过的新对象,而不再是原有的那些被引用的对象。换言之,深复制把要复制的转载 2016-04-01 14:16:09 · 444 阅读 · 0 评论 -
Java Swing中的组件用final修饰
编码风格:把内容需要改变的Swing组件放在类属性中,比如JTextField、JTextArea,其他基本初始化后基本不变,用final修饰,放在类的构造函数中。注:swing组件并没有说一定要用final来修饰,很多swing组件加了final应该是有两个考虑。 1. swing组件适合加final,他new过一次之后一般不会再需要new第二次,最多是改变它的内部属性而已。 2. 有些局部生原创 2016-03-31 17:45:32 · 976 阅读 · 0 评论 -
Swing组件的构造函数
先看一下效果 啥也不说了,直接上程序对比。 程序1: import java.awt.BorderLayout; import java.awt.Dimension; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing原创 2016-03-31 20:11:13 · 848 阅读 · 0 评论 -
StringBuffer和StringBuilder
比较 StringBuffer StringBuilder 执行速度 更快 线程安全 安全 不安全 共同点: 都是在同一个对象上操作。参考文章原创 2016-11-22 10:20:00 · 656 阅读 · 0 评论