java
雄鸡
这个作者很懒,什么都没留下…
展开
-
多线程的优点
[转发]并发编程网 – ifeve.com尽管面临很多挑战,多线程有一些优点使得它一直被使用。这些优点是:资源利用率更好程序设计在某些情况下更简单程序响应更快资源利用率更好想象一下,一个应用程序需要从本地文件系统中读取和处理文件的情景。比方说,从磁盘读取一个文件需要5秒,处理一个文件需要2秒。处理两个文件则需要: 1 5秒读取文件A 2 2秒处理文件A 3转载 2015-05-09 12:43:35 · 645 阅读 · 0 评论 -
java位运算笔记
一、 Java中的基本数据类型的相关知识 数据类型 大小 最小值 最大值 boolean byte 8-bit -128 127 char 16-bit Unicode 0 Unicode 216-1 short 16-bit -215 214 int 32-bit -231 230 float原创 2015-12-20 15:03:46 · 552 阅读 · 0 评论 -
JVM中的垃圾收集算法和Heap分区简记
如何判断垃圾对象? 垃圾收集的第一步就是先需要算法来标记哪些是垃圾,然后再对垃圾进行处理。引用计数(ReferenceCounting)算法 这种方法比较简单直观,FlashPlayer/Python使用该算法,简单高效。核心思路是,给每个对象添加一个被引用计数器,被引用时+1,引用失效-1,等于0时就表示该对象没有被引用,可以被回收。但是,Java/C#并不采用该算法,因为该算法没有解决对象相转载 2016-05-27 22:29:04 · 942 阅读 · 0 评论 -
线程池ThreadPoolExecutor参数设置
JDK1.5中引入了强大的concurrent包,其中最常用的莫过了线程池的实现ThreadPoolExecutor,它给我们带来了极大的方便,但同时,对于该线程池不恰当的设置也可能使其效率并不能达到预期的效果,甚至仅相当于或低于单线程的效率。ThreadPoolExecutor类可设置的参数主要有:corePoolSize核心线程数,核心线程会一直存活,即使没有任务需要处理。当线程数小于核心线程数转载 2016-06-24 13:35:06 · 495 阅读 · 0 评论 -
java中file的getPath(),getAbsolutePath(),getCanonicalPath()的比较
getPath()会得到file构造函数参数的值; getAbsolutePath()当参数为相对路径时会得到文件的绝对路径+相对路径,当参数为绝对路径时直接得到绝对路径; getCanonicalPath()当参数为相对路径为得到文件的绝对路径,当参数为绝对路径时得到文件的绝对路径。getPath(),getAbsolutePath()不能实际分析磁盘中的文件,只是根据构造函数的参数来进行路径原创 2016-08-24 15:54:04 · 499 阅读 · 0 评论 -
深入理解Java:注解(Annotation)自定义注解入门
要深入学习注解,我们就必须能定义自己的注解,并使用注解,在定义自己的注解之前,我们就必须要了解Java为我们提供的元注解和相关定义注解的语法。元注解: 元注解的作用就是负责注解其他注解。Java5.0定义了4个标准的meta-annotation类型,它们被用来提供对其它 annotation类型作说明。Java5.0定义的元注解: 1.@Target, 2.@R转载 2017-01-05 10:00:35 · 317 阅读 · 0 评论 -
深入理解Java:注解(Annotation)--注解处理器
如果没有用来读取注解的方法和工作,那么注解也就不会比注释更有用处了。使用注解的过程中,很重要的一部分就是创建于使用注解处理器。Java SE5扩展了反射机制的API,以帮助程序员快速的构造自定义注解处理器。注解处理器类库(java.lang.reflect.AnnotatedElement): Java使用Annotation接口来代表程序元素前面的注解,该接口是所有Annotati转载 2017-01-05 10:07:55 · 396 阅读 · 0 评论 -
Java中isAssignableFrom的用法
class1.isAssignableFrom(class2) 判定此 Class 对象所表示的类或接口与指定的Class 参数所表示的类或接口是否相同,或是否是其超类或超接口。如果是则返回 true;否则返回 false。如果该 Class 表示一个基本类型,且指定的 Class 参数正是该 Class 对象,则该方法返回 true;否则返回 false。 1.class2是不是转载 2017-10-10 07:37:48 · 1074 阅读 · 1 评论 -
ContextClassLoader浅析
Current ClassLoader当前类所属的ClassLoader,在虚拟机中类之间引用,默认就是使用这个ClassLoader。另外,当你使用Class.forName(), Class.getResource()这几个不带ClassLoader参数的方法时,默认同样使用当前类的ClassLoader。你可以通过方法XX.class.GetClassLoader()获取。Threa转载 2017-10-10 14:57:11 · 1022 阅读 · 0 评论 -
java 纳米级时间戳
纳秒, 时间单位。一秒的10亿分之一,即等于10的负9次方秒。常用作 内存读写速度的单位,其前面数字越小则表示速度越快。 符号标记: ns(nanosecond)与其他时间转换关系如下: 1纳秒=1000 皮秒 1纳秒 =0.001 微秒 1纳秒=0.000001 毫秒 1纳秒=0.00000 0001秒java的System.currentTimeMillis()和原创 2016-01-21 10:27:23 · 6400 阅读 · 0 评论 -
class 的getResource 使用
好久都没有开始写代码了,发现很多东西都忘记的差不多了,为了便于记忆,特意将其记录下来。D:.│ file2.txt│└─org └─ifly └─edu │ ├─java │ ├─cls │ │ ClassTest.java │ │原创 2015-09-27 00:00:23 · 2145 阅读 · 1 评论 -
并发编程笔记
线程安全与共享资源局部变量 局部变量存储在线程自己的栈中。也就是说,局部变量永远也不会被多个线程共享,比如public void someMethod(){ long threadSafeInt = 0; threadSafeInt++;}局部的对象引用 对象的局部引用和基础类型的局部变量不太一样。尽管引用本身没有被共享,但引用所指的对象并没有存储在线程的栈内。所有的对象都存在共享堆原创 2015-05-09 16:46:10 · 472 阅读 · 0 评论 -
线程通信
转载自并发编程网 – ifeve.com线程通信的目标是使线程间能够互相发送信号。另一方面,线程通信使线程能够等待其他线程的信号。例如,线程B可以等待线程A的一个信号,这个信号会通知线程B数据已经准备好了。本文将讲解以下几个JAVA线程间通信的主题:1、通过共享对象通信2、忙等待3、wait(),notify()和notifyAll()4、丢失的信号5、假唤醒6、多线程等待相同信号7、不要对常量字符转载 2015-05-10 10:27:47 · 469 阅读 · 0 评论 -
java7并行计算框架Fork/Join
拆分fork+合并join。jdk1.7整合Fork/Join,性能上有大大提升。思想:充分利用多核CPU把计算拆分成多个子任务,并行计算,提高CPU利用率大大减少运算时间当你在ForkJoinPool中执行ForkJoinTask时,你可以使用同步或异步方式来实现。当你使用同步方式时,提交任务给池的方法直到提交的任务完成它的执行,才会返回结果。当你使用异步方式时,提交任务给执行者的方法将立即返回,原创 2015-05-10 17:07:47 · 1769 阅读 · 0 评论 -
java io 收集&整理
io操作处理实战http://www.cnblogs.com/rollenholt/archive/2011/09/11/2173787.html原创 2015-05-16 10:31:01 · 418 阅读 · 0 评论 -
Java_字符编码(Unicode、UTF-8、UTF-16)
首先看一下下面的程序(测试英文和中文在Unicode、UTF-8、UTF-16这三种编码下,一个字符占几个字节) System.out.println("a(Unicode) :" + "a".getBytes("Unicode").length); System.out.println("a(Unicode) :" + "aa".getBytes("Unicode")转载 2015-05-16 14:58:44 · 628 阅读 · 0 评论 -
DOS运行Java命令依赖jar包及参数设置
方案一: java -classpath %classpath%;/lib/activation.jar;/lib/ant.jar;…/lib/xstream-1.2.1.jar org.mule.MuleServer -config /conf/HBADCservice-config.xml -props /conf/vaseai.properties使用这种方案对classpath参数长度有限原创 2015-06-24 08:39:50 · 5369 阅读 · 0 评论 -
jvm 常用概念(未整理完)
xms 指定程序的初始化内存大小xmx 指定程序占用的最大内存原创 2015-05-16 16:19:38 · 570 阅读 · 0 评论 -
ScheduledExecutorService的使用
ScheduledExecutorService扩展了ExecutorService接口,提供时间排程的功能,主要如下:schedule(Callable callable, long delay, TimeUnit unit) 创建并执行在给定延迟后启用的 ScheduledFuture。schedule(Runnable command, long delay, TimeUnit unit) 创转载 2015-08-03 21:55:36 · 765 阅读 · 0 评论 -
System的getenv 和getProptery
1. getenv 是从环境变量中查询实例代码: String env = System.getenv("java_home"); System.out.println("System.getEnv=" + env);运行结果: xxxxx/java/jdk2. getProperty是运行时 设置的属性中查询实例代码: String property原创 2015-09-27 00:17:56 · 1581 阅读 · 0 评论 -
深入理解Java类加载器(1):Java类加载原理解析
1 基本信息 每个开发人员对java.lang.ClassNotFoundExcetpion这个异常肯定都不陌生,这背后就涉及到了java技术体系中的类加载。Java的类加载机制是技术体系中比较核心的部分,虽然和大部分开发人员直接打交道不多,但是对其背后的机理有一定理解有助于排查程序中出现的类加载失败等技术问题,对理解java虚拟机的连接模型和java语言的动态性都有很大帮助。转载 2017-10-10 15:01:59 · 346 阅读 · 0 评论