Java
一枝会思想的芦苇
这个作者很懒,什么都没留下…
展开
-
package包
为了更好地组织类,Java提供了包机制。包是类的容器,用于分隔类名空间。如果没有指定包名,所有的示例都属于一个默认的无名包。包的名字有层次关系,各层之间以点分隔。包层次必须与Java开发系统的文件系统结构相同(并非绝对路径)。那么包名和实际物理路径有什么关系?包名必须出现在实际路径中的一部分,只是一段,不可能是绝对路径。而这个段的起点, 就是包含了classpath目录的一个。...原创 2019-03-05 10:12:41 · 143 阅读 · 0 评论 -
Java 网络通信模型 BIO、NIO、AIO
目录1. BIO参照 UNIX 五大 I/O 模型来理解。1. BIOBIO 就是传统的 java.io 包,它是基于流模型实现的,交互的方式是同步、阻塞方式,也就是说在读入输入流或者输出流时,在读写动作完成之前,线程会一直阻塞在那里,它们之间的调用是可靠的线性顺序。它的优点就是代码比较简单、直观;缺点就是 I/O 的效率和扩展性很低,容易成为应用性能瓶颈。...转载 2019-07-29 17:39:46 · 424 阅读 · 0 评论 -
String、StringBuilder、StringBuffer 的区别
String 对象是不可变对象(显然线程安全),String 对象一旦创建之后就不可更改了。Java 中对 String 对象进行的操作实际上是一个不断创建新的对象并且将旧的对象回收的一个过程,所以执行速度很慢。StringBuffer 线程安全的可变字符序列:对 StringBuffer对象本身进行操作,而不是生成新的对象。StringBuilder 线程不安全的可变字符序列:提供一个与 S...原创 2019-06-27 21:20:31 · 115 阅读 · 0 评论 -
泛型
1. 类型擦除虚拟机中没有泛型,只有普通的类和方法。定义一个泛型类型,会进行类型擦除,如:public class Pair<T> { private T first; private T second; public Pair() { first = null; second = null; } public Pair(T first, T secon...原创 2019-07-03 10:36:47 · 100 阅读 · 0 评论 -
序列化与反序列化
https://www.cnblogs.com/xdp-gacl/p/3777987.html转载 2019-05-07 11:40:17 · 103 阅读 · 0 评论 -
反射
Class.forName()方法在jdbc连接数据库中的应用在使用jdbc方式连接数据库时,为什么要执行Class.forName(‘驱动类名’)方法了:将驱动类的class文件装载到内存中,并且形成一个描述此驱动类结构的Class类实例,并且初始化此驱动类,这样jvm就可以使用它了,这就是Class.forName()方法的含义。有数据库开发经验朋友会发现,为什么在我们加载数据库驱动包的...原创 2019-05-06 15:53:51 · 81 阅读 · 0 评论 -
java I/O体系
转自:https://www.cnblogs.com/ylspace/p/8128112.htmlJava中IO流的体系结构:Java流类的类结构图:转载 2019-05-08 20:04:50 · 114 阅读 · 0 评论 -
静态代理和动态代理
利用代理可以在运行时创建一个实现了一组给定接口的新类。代理类具有下列方法:指定接口所需要的全部方法。Object 类中的全部方法, 例如, toString、 equals 等。实现代理只需要使用Proxy的newProxyInstance方法,该方法需要接收三个参数,完整的写法是:static Object newProxyInstance(ClassLoader loader, C...转载 2019-04-27 21:40:30 · 134 阅读 · 0 评论 -
Comparable与Comparator
转自:https://www.cnblogs.com/xujian2014/p/5215082.html1.ComparableComparable是排序接口。若一个类实现了Comparable接口,就意味着该类支持排序。实现了Comparable接口的类的对象的列表或数组可以通过Collections.sort或Arrays.sort进行自动排序。该接口定义如下:public interf...转载 2019-04-25 20:06:32 · 82 阅读 · 0 评论 -
java 容器
目录集合框架的接口集合框架中的类具体的集合LinkedListArrayListHashSetTreeSetArrayDequePriorityQueue映射集合框架的接口集合框架中的类集合类型描述ArrayList一种可以动态增长和缩减的索引序列LinkedList一种可以在任何位置进行高效地插人和删除操作的有序序列ArrayDeque一种用循环数...原创 2019-04-16 11:44:59 · 128 阅读 · 0 评论 -
编译、运行java程序
在终端中使用"javac 类名.java"编译文件时,将当前路径切换至类文件所在目录,类名不加包名,如下:PS D:\mavenProject\DesignPatterns\src\main\java\com\hfdp11\gumballmonitor> javac GumballMachineTestDrive.java在终端中使用"java 类名"命令运行程序时,将当前路径切...原创 2019-03-10 21:32:47 · 105 阅读 · 0 评论 -
类路径CLASSPATH
当使用 “java HelloWord” 命令运行java程序时,JRE会在设置的CLASSPATH路径下搜索HelloWord.class 文件。在1.4以前版本的JDK,需要在CLASSPATH环境变量中添加一点(.),用以告诉JRE在当前路径下搜索java类,除此之外,编译和运行java程序还需要 JDK 的lib路径下 dt.jar 和 tools.jar文件中的java类,因此还需要...原创 2019-03-04 11:34:54 · 796 阅读 · 0 评论 -
PATH环境变量
编译和运行java程序需要经过两个步骤:将源文件(.java)编译成字节码(.class)。解释执行平台无关的字节码程序。上面两个步骤分别要用到 “java” 和 “javac” 两个命令。设置PATH环境变量的作用是告诉操作系统在哪里可找到这两个命令。...原创 2019-03-04 11:07:34 · 777 阅读 · 0 评论 -
内部类
目录1. 内部类的作用2. 内部类与外部类的区别3. 非静态内部类4. 静态内部类5. 局部内部类6. 匿名内部类1. 内部类的作用内部类提供了更好的封装,可以把内部类隐藏在外部类之内,不允许同一个包中的其他类访问该类。内部类方法可以访问该类定义所在的作用域中的数据,包括私有的数据。因为内部类被当成其外部类成员,同一个类的成员之间可以互相访问。但外部类不能访问内部类的实现细节,例如内部类的...原创 2019-03-08 17:21:58 · 199 阅读 · 0 评论 -
HashMap 中散列值的计算
HashMap java 1.8 中的源码: static final int hash(Object key) { int h; return (key == null) ? 0 : (h = key.hashCode()) ^ (h >>> 16); } i = (n - 1) & hashh >>...原创 2019-09-02 20:31:03 · 1405 阅读 · 0 评论