Java语言
Java语言
lqglqglqg
这个作者很懒,什么都没留下…
展开
-
Vector和ArrayList比较
http://blog.csdn.net/tayanxunhua/article/details/10102709Vector和ArrayList的源码的分析:今天研究了一下Vector和ArrayList的源码,又加深了对这两个类的理解。List接口下一共实现了三个类:ArrayList,Vector,LinkedList。LinkedList就不转载 2015-09-19 09:01:15 · 527 阅读 · 1 评论 -
LinkedList的实现原理分析
http://wiki.jikexueyuan.com/project/java-collection/linkedlist.htmlLinkedList 和 ArrayList 一样,都实现了 List 接口,但其内部的数据结构有本质的不同。LinkedList 是基于链表实现的(通过名字也能区分开来),所以它的插入和删除操作比 ArrayList 更加高效。但也是由于其为基于链转载 2015-10-02 17:02:57 · 489 阅读 · 0 评论 -
LinkedHashSet实现原理分析
http://wiki.jikexueyuan.com/project/java-collection/linkedhashset.htmlLinkedHashSet 概述思考了好久,到底要不要总结 LinkedHashSet 的内容 = = 我在之前的博文中,分别写了 HashMap 和 HashSet,然后我们可以看到 HashSet 的方法基本上都是基于 Hash转载 2015-10-02 16:56:49 · 509 阅读 · 0 评论 -
LinkedHashMap实现原理分析
http://wiki.jikexueyuan.com/project/java-collection/linkedhashmap.htmlLinkedHashMap 概述HashMap 是无序的,HashMap 在 put 的时候是根据 key 的 hashcode 进行 hash 然后放入对应的地方。所以在按照一定顺序 put 进 HashMap 中,然后遍历出 H转载 2015-10-02 16:53:14 · 710 阅读 · 0 评论 -
HashTable的实现原理分析
http://wiki.jikexueyuan.com/project/java-collection/hashtable.html概述和 HashMap 一样,Hashtable 也是一个散列表,它存储的内容是键值对。Hashtable 在 Java 中的定义为:public class HashtableK,V> extends Dictio转载 2015-10-02 16:38:49 · 1558 阅读 · 0 评论 -
HashSet的实现原理分析
http://wiki.jikexueyuan.com/project/java-collection/hashset.htmlHashSet 概述对于 HashSet 而言,它是基于 HashMap 实现的,底层采用 HashMap 来保存元素,所以如果对 HashMap 比较熟悉了,那么学习 HashSet 也是很轻松的。我们先通过 HashSet 最简单的转载 2015-10-02 16:30:56 · 350 阅读 · 0 评论 -
Java的OutOfMemory问题
http://blog.csdn.net/jinger_z/article/details/5910210一、内存溢出类型1、java.lang.OutOfMemoryError: PermGen spaceJVM管理两种类型的内存,堆和非堆。堆是给开发人员用的上面说的就是,是在JVM启动时创建;非堆是留给JVM自己用的,用来存放类的信息的。它和堆不同,运行期内GC转载 2015-09-27 10:51:37 · 1152 阅读 · 0 评论 -
java的join和yield方法处理线程顺序执行
http://www.importnew.com/14958.htmlhttp://blog.sina.com.cn/s/blog_5c5bc9070100ytye.htmlThread的非静态方法join()让一个线程B“加入”到另外一个线程A的尾部。在A执行完毕之前,B不能工作。例如: Thread t = new MyThread(); t转载 2015-09-27 11:38:45 · 745 阅读 · 1 评论 -
Error与Exception的联系与区别
http://developer.51cto.com/art/201111/304649.htmError类和Exception类都继承自Throwable类。Error的继承关系:Exception的继承关系:二者的不同之处:Exception:1.可以是可被控制(checked) 或不可控制的(unchecked)。转载 2015-09-27 10:13:14 · 571 阅读 · 0 评论 -
Java RandomAccessFile用法
http://blog.csdn.net/akon_vm/article/details/7429245RandomAccessFileRandomAccessFile是用来访问那些保存数据记录的文件的,你就可以用seek( )方法来访问记录,并进行读写了。这些记录的大小不必相同;但是其大小和位置必须是可知的。但是该类仅限于操作文件。RandomAccessFi转载 2015-09-27 10:32:50 · 293 阅读 · 0 评论 -
基于NIO实现的一个高性能通信框架
源码地址http://git.oschina.net/smartdms/smart-socket?from=20150830README.md8.2 KB框架结构传输层smart-quickly:NIO的具体实现,并提供协议解析接口协议层smart-protocol-p2p:以二进制流进行点对点通信的协议,应用层smart-p2p-server:基于sm转载 2015-09-08 09:24:29 · 513 阅读 · 0 评论 -
jdbc注册驱动3种方式
http://blog.csdn.net/yanwushu/article/details/7574708关于驱动包jdbc中注册驱动,首先导入对应的包,例如mysql-connector-java-5.0.8-bin.jar。驱动包是java和具体数据库之间的连接桥梁,由数据库厂商开发。每一种数据库对应一款驱动jar,甚至每一个版本的数据库都有自己对应版本的驱动jar。转载 2015-08-18 17:29:01 · 554 阅读 · 0 评论 -
CocurrentHashMap和Hashtable的区别
http://blog.csdn.net/kobejayandy/article/details/16834311ConcurrentHashMap和Hashtable的区别Hashtable和ConcurrentHashMap有什么分别呢?它们都可以用于多线程的环境,但是当Hashtable的大小增加到一定的时候,性能会急剧下降,因为迭代时需要被锁定很长的时间。因为C转载 2015-08-23 22:41:25 · 537 阅读 · 0 评论 -
HashMap实现原理分析
http://wiki.jikexueyuan.com/project/java-collection/hashmap.htmlHashMap 概述HashMap 是基于哈希表的 Map 接口的非同步实现。此实现提供所有可选的映射操作,并允许使用 null 值和 null 键。此类不保证映射的顺序,特别是它不保证该顺序恒久不变。此实现假定哈希函数将元素适当地分布转载 2015-10-02 16:26:45 · 326 阅读 · 0 评论 -
Android-java的io性能知识点
关于Bitmap,使用decodeStream代替decodeFile,并且传入BufferedInputStream类型的文件流,decodeResource同样存在这个问题,建议使用decodeResourceStream,性能优化的原因是增加了缓冲区,减少了磁盘io的次数 VSS Virtual Set Size 虚集合大小Rss Resident Set Size 常...原创 2018-09-20 09:57:20 · 622 阅读 · 0 评论 -
如何抓获JVM crash的幕后黑手?(一)
https://blog.csdn.net/cpzhong/article/details/7191811最近几天线上jboss服务器经常莫名地突然停止运行,导致半夜都被报警短信吵醒,元旦几天也基本就在收报警,然后重启系统。查看jboss控制台错误日志,发现只有下面一行:/opt/.../jboss/bin/run.sh: line 181: 26430 段错误 ...转载 2018-09-02 11:20:57 · 396 阅读 · 0 评论 -
牛人源码定位问题原因- 从源码看DL4J中Native BLAS的加载,以及配置
http://blog.csdn.net/oncealong/article/details/50068831最近在用DeepLearning4J(DL4J)尝试语音识别的深度学习,Git DL4J的代码,用IntelliJ IDEA打开,配置好相关依赖后,运行包org.deeplearning4j.examples.test.Test的main,可以正常运行,但是有警转载 2016-11-21 09:58:21 · 2515 阅读 · 0 评论 -
Java线程wait和sleep
Object.wait()和Thead.sleep()方法都可以让线程等待若干时间。除了wait()可以被唤醒外,另外一个主要区别就是wait方法会释放目标对象的锁,而Thread.sleep()方法不会释放任何资源。public class SimpleWN {final static Object object = new Object();public sta原创 2016-12-01 20:50:22 · 349 阅读 · 0 评论 -
Java线程中断处理函数
public void Thread.interrupt() //中断线程public boolean Thread.isInterrupted() //判断是否被中断public static boolean Thread.interrupted() //判断是否被中断,并清除当前中断状态异常处理中,再次中断线程自己,置上中断标记位,只有这么做,在线程的中断检查中,才能发现当前线程已原创 2016-12-01 20:36:07 · 445 阅读 · 0 评论 -
Java读书笔记之线程Stop
Java线程不应使用stop方法粗暴地停止线程运行,使用状态标识解决public class StopThreadUnsafe {public static User u = new User();public static class User {private int id;private String name;public User() {原创 2016-11-30 19:08:14 · 311 阅读 · 0 评论 -
java线程池接口ThreadPoolExecutor
http://www.cnblogs.com/dolphin0520/p/3932921.html在前面的文章中,我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题: 如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。 那么有没有一种办法使转载 2015-09-24 18:12:09 · 595 阅读 · 0 评论 -
ArrayList的实现原理分析
http://wiki.jikexueyuan.com/project/java-collection/arraylist.htmlArrayList 概述ArrayList 可以理解为动态数组,用 MSDN 中的说法,就是 Array 的复杂版本。与 Java 中的数组相比,它的容量能动态增长。ArrayList 是 List 接口的可变数组的实现。实现了所有可选列表转载 2015-10-02 16:59:40 · 378 阅读 · 0 评论 -
Collections集合工具类、Arrays工具类、其他常用类:System,Runtime,Date,Calendar,Math
http://blog.csdn.net/rock_ray/article/details/212769931. Collections集合工具类Collections类是java.util包中的一个集合的工具类,此类中提供了一些操作集合的静态方法,扩展了集合本身的功能。这个类中的方法都是静态的,不需要创建对象。Collections和Coll转载 2015-10-02 11:48:27 · 396 阅读 · 0 评论 -
Set、HashSet、TreeSet、Map、HashMap、TreeMap
http://blog.csdn.net/rock_ray/article/details/209971451 Set集合1.1 Set集合概述Set集合的元素是无序的,即存入的顺序和取出的顺序不一定是一致的。Set集合中的元素不可以重复。Set类是Collection的子类,所以Set集合的功能和Collection是一致的。转载 2015-10-02 11:45:59 · 444 阅读 · 0 评论 -
java内存区域各部分内容及内存溢出介绍
http://blog.csdn.net/ns_code/article/details/17565503内存区域 Java虚拟机在执行Java程序的过程中会把他所管理的内存划分为若干个不同的数据区域。Java虚拟机规范将JVM所管理的内存分为以下几个运行时数据区:程序计数器、Java虚拟机栈、本地方法栈、Java堆、方法区。下面详细阐述各数据区所存储的数据类型。转载 2015-10-18 23:00:14 · 462 阅读 · 0 评论 -
java知识
Collection是集合类的一个顶级接口,其直接继承接口有List与Set而Collections则是集合类的一个工具类/帮助类,其中提供了一系列静态方法,用于对集合中元素进行排序、搜索以及线程安全等各种操作。转载 2015-08-18 16:28:59 · 276 阅读 · 0 评论 -
Java中Synchronized和Lock的使用
http://blog.csdn.net/imzoer/article/details/9457639Lock的锁定是通过代码实现的,而 synchronized 是在 JVM 层面上实现的synchronized在锁定时如果方法块抛出异常,JVM 会自动将锁释放掉,不会因为出了异常没有释放锁造成线程死锁。但是 Lock 的话就享受不到 JVM 带来自动的功能,出现异常时必须在 f转载 2015-08-28 08:47:33 · 439 阅读 · 0 评论 -
共享内存在Java中实现和应用
http://blog.csdn.net/kobejayandy/article/details/446336111、共享内存对应应用开发的意义对熟知UNIX系统应用开发的程序员来说,IPC(InterProcess Communication)机制是非常熟悉的,IPC基本包括共享内存、信号灯操作、消息队列、信号处理等部分,是开发应用中非常重要的必不可少的工具。其中转载 2015-08-28 08:48:21 · 536 阅读 · 0 评论 -
Collection 和 Collections的区别
http://blog.csdn.net/kobejayandy/article/details/9164843Collection是集合类的上级接口,继承与他的接口主要有Set 和List.Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作转载 2015-08-23 21:56:06 · 271 阅读 · 0 评论 -
Hashtable 和 HashMap之间的区别
http://blog.csdn.net/kobejayandy/article/details/9164833http://www.importnew.com/7010.htmlhttp://blog.sina.com.cn/s/blog_599ed7120100dn2o.htmlHashtable是继承了Dictionary,是线程安全的。HashMap实现了M转载 2015-08-23 21:54:48 · 351 阅读 · 0 评论 -
ArrayList,LinkedList, Vector三者的区别
http://blog.csdn.net/kobejayandy/article/details/9164825LinkedList内部以链表形式存储数据ArrayList内部以数组形式存储数据。Vector同ArrayList,不过它与ArrayList比较起来是线程安全的。 ArrayList 和Vector都是使用数组方式存储数据,此数组元素数大于实际转载 2015-08-23 21:50:02 · 296 阅读 · 0 评论 -
String, StringBuffer, StringBuilder三者区别
http://blog.csdn.net/kobejayandy/article/details/9164777String 字符串常量StringBuffer 字符串变量(线程安全)StringBuilder 字符串变量(非线程安全)简要的说,String 类型和 StringBuffer 类型的主要性能区别其实在于 String是不可变的对象, 因此在每次对 Str转载 2015-08-23 21:47:56 · 313 阅读 · 0 评论 -
java多线程同步及最大线程数目
http://blog.csdn.net/kobejayandy/article/details/9362141http://www.cnblogs.com/hongten/p/hongten_java_sleep_wait.htmlJVM中可以生成的最大线程数量由JVM的堆内存大小、Thread的Stack内存大小、系统最大可创建的线程数量(Java线程的实现是基于底层系统的线程转载 2015-08-23 21:45:39 · 1425 阅读 · 0 评论 -
jvm的类加载器
http://blog.csdn.net/kobejayandy/article/details/8496665二. 类的加载方式1):本地编译好的class中直接加载2):网络加载:java.net.URLClassLoader可以加载url指定的类3):从jar、zip等等压缩文件加载类,自动解析jar文件找到class文件去加载util类4):从java源转载 2015-08-23 21:31:59 · 328 阅读 · 0 评论 -
swtich与if else是否能作用在byte上,作用在long上,作用在String上?
http://blog.csdn.net/kobejayandy/article/details/9286579http://blog.csdn.net/kehui123/article/details/5298337switch(expr1)中,expr1是一个整数表达式。因此传递给 switch 和 case 语句的参数应该是 int、 short、 char 或者 byte。转载 2015-08-23 22:37:41 · 488 阅读 · 0 评论 -
jvm参数调优
http://blog.csdn.net/kobejayandy/article/details/8496663一、回顾JVM内存分配需要了解更多内存模式与内存分配的,请看 深入JVM系列(一)之内存模型与内存分配1.1、内存分配:1、对象优先在EDEN分配2、大对象直接进入老年代 3、长期存活的对象将进入老年代 4、适龄转载 2015-08-23 17:26:53 · 379 阅读 · 0 评论 -
jvm堆内存管理有关
http://blog.csdn.net/kobejayandy/article/details/8496651四、Heap 堆Heap(堆)是JVM的内存数据区。Heap 的管理很复杂,每次分配不定长的内存空间,专门用来保存对象的实例。在Heap 中分配一定的内存来保存对象实例,实际上也只是保存对象实例的属性值,属性的类型和对象本身的类型标记等,并不保存对象的方法(方法是转载 2015-08-23 17:10:32 · 902 阅读 · 0 评论 -
JNi调用过程(转载)
http://www.blogjava.net/kyanite/archive/2005/08/10/9702.html最近在公司里做了一个手机的项目,需要JAVA程序在发送短信的时候和第三方的短信服务器连接。短信接口是用C++写的。琢磨了三天,大致搞懂了JNI的主体部分。先将心得整理,希望各位朋友少走弯路。 首先引用一篇文章,介绍一个简单的JNI的调用的过程。 JAVA以其原创 2014-03-07 15:52:03 · 658 阅读 · 0 评论 -
静态类static class(转载)
一般情况下是不可以用static修饰类的。如果一定要用static修饰类的话,通常static修饰的是匿名内部类。在一个类中创建另外一个类,叫做成员内部类。这个成员内部类可以静态的(利用static关键字修饰),也可以是非静态的。由于静态的内部类在定义、使用的时候会有种种的限制。所以在实际工作中用到的并不多。在开发过程中,内部类中使用的最多的还是非静态地成员内部类。不过在特定的情况下,静原创 2014-03-07 15:51:57 · 420 阅读 · 0 评论 -
解决Eclipse中文乱码(转载)
使用Eclipse编辑文件经常出现中文乱码或者文件中有中文不能保存的问题,Eclipse提供了灵活的设置文件编码格式的选项,我们可以通过设置编码格式解决乱码问题。在Eclipse可以从几个层面设置编码格式:Workspace、Project、ContentType、File 本文以Eclipse 3.3(英文)为例加以说明: 1.设置Workspace的编码格式: Wind原创 2014-03-07 15:51:29 · 549 阅读 · 0 评论