
Java
thinkinwm
Do not pray for easy lives. Pray to be stronger men.
展开
-
Java JDK1.8新特性
https://blog.youkuaiyun.com/zhy981167180/article/details/37777759 一、lambda含义 lambda表示数学符号“λ”,计算机领域中λ代表“λ演算”,表达了计算机中最基本的概念:“调用”和“置换”。在很多动态语言和C#中都有相应的lambda语法,这类语法都为了简化代码,提高运行效率。 二、lambda 项目的背景,参...转载 2018-08-04 15:17:28 · 782 阅读 · 0 评论 -
ThreadLocal
首先,ThreadLocal 不是用来解决共享对象的多线程访问问题的,一般情况下,通过ThreadLocal.set() 到线程中的对象是该线程自己使用的对象,其他线程是不需要访问的,也访问不到的。各个线程中访问的是不同的对象。 另外,说ThreadLocal使得各线程能够保持各自独立的一个对象,并不是通过ThreadLocal.set()来实现的,而是通过每个线程中的new 对象 的操作转载 2013-10-09 14:18:35 · 634 阅读 · 0 评论 -
什么是线程安全和线程不安全
http://www.cnblogs.com/bandrui/archive/2011/03/14/1983105.html首先要明白线程的工作原理,jvm有一个main memory,而每个线程有自己的working memory,一个线程对一个variable进行操作时,都要在自己的working memory里面建立一个copy,操作完之后再写入main me转载 2013-10-08 14:30:47 · 654 阅读 · 0 评论 -
Java多线程3-线程池、Callable和Future
http://blog.youkuaiyun.com/undoner/article/details/8139185线程池 java.util.concurrent,在Java开发中,我们接触到了好多池的技术,String类的对象池、Integer的共享池、连接数据库的连接池、Struts1.3的对象池等等,池的最终目的都是节约资源,以更小的开销做更多的事情,从而提转载 2013-06-17 14:52:09 · 696 阅读 · 0 评论 -
Java 理论与实践: 描绘线程安全性
http://www.ibm.com/developerworks/cn/java/j-jtp09263/在 Joshua Bloch 的那本出色的 Effective Java Programming Language Guide(参阅 参考资料)一书中,第 52 项的标题为“Document Thread Safety”,在其中他恳请开发人员准确地记录下类对线程安全转载 2013-07-11 13:20:18 · 482 阅读 · 0 评论 -
Java多线程4- Lock、Condition
http://blog.youkuaiyun.com/undoner/article/details/8142426Lock是java.util.concurrent.locks包下的接口,Lock 实现提供了比使用synchronized 方法和语句可获得的更广泛的锁定操作,它能以更优雅的方式处理线程同步问题,我们拿Java线程(二)中的一个例子简单的实现一下和sychronized一样的效转载 2013-06-17 14:52:44 · 565 阅读 · 0 评论 -
Java多线程2-线程协作、Timer和TimerTask
http://blog.youkuaiyun.com/undoner/article/details/8139178 线程协作 生产者/消费者模式是一个经典的线程同步以及通信的模型。 假设有这样一种情况,有一个盘子,盘子里只能放一个鸡蛋,A线程专门往盘子里放鸡蛋,如果盘子里有鸡蛋,则一直等到盘子里没鸡蛋,B线程专门从盘子里取鸡蛋,如果盘子里没鸡转载 2013-06-17 14:51:32 · 757 阅读 · 0 评论 -
Java多线程1-安全性、互斥与同步
http://blog.youkuaiyun.com/undoner/article/details/8139168首先举例说明: Count.java:[java] view plaincopyprint?public class Count { private int num; publi转载 2013-06-17 14:50:24 · 653 阅读 · 0 评论 -
Java 理论与实践: 线程池与工作队列
http://www.ibm.com/developerworks/cn/java/j-jtp0730/为什么要用线程池?诸如 Web 服务器、数据库服务器、文件服务器或邮件服务器之类的许多服务器应用程序都面向处理来自某些远程来源的大量短小的任务。请求以某种方式到达服务器,这种方式可能是通过网络协议(例如 HTTP、FTP 或 POP)、通过 JMS 队列或者可能通过轮询数据库转载 2013-06-17 14:21:19 · 610 阅读 · 0 评论 -
Java中Cloneable接口
http://blog.sina.com.cn/s/blog_4de067e40100lgl7.html目录预备知识为什么要cloneObject的clone以及为什么如此实现如何clone对clone的态度其他的选择和Serializable的比较性能预备知识为了理解java的clone,有必要先温习以下的知识。java的类转载 2013-06-14 14:23:38 · 537 阅读 · 0 评论 -
JAVA版文件MD5生成器
http://www.blogjava.net/hadeslee/archive/2007/11/08/159018.html做文件传输的时候,为了保证文件是合法的有效的,经常会对文件做MD5校验,以确保和原始的文件是一样的.并且做断点续传的时候这一点也是挺重要的,其实JAVA处理这方面也挺不错的,可是我搜了半天,也没有搜到一个用JAVA写的文件MD5生成程序,有的也只是命令行模式转载 2013-06-03 17:42:36 · 760 阅读 · 0 评论 -
Java程序员面试中的多线程问题
摘要:很多核心Java面试题来源于多线程(Multi-Threading)和集合框架(Collections Framework),理解核心线程概念时,娴熟的实际经验是必需的。这篇文章收集了 Java 线程方面一些典型的问题,这些问题经常被高级工程师所问到。很多核心Java面试题来源于多线程(Multi-Threading)和集合框架(Collections Framework),理解转载 2013-10-10 10:03:04 · 637 阅读 · 0 评论 -
ThreadLocal与Synchronized的用法
http://www.blogjava.net/jspark/archive/2006/08/01/61165.html最近由于需要用到ThreadLocal,在网上搜索了一些相关资料,发现对ThreadLocal经常会有下面几种误解 一、ThreadLocal是java线程的一个实现 ThreadLocal的确是和java线程有关,不过它并不是java线转载 2013-10-10 09:51:09 · 792 阅读 · 0 评论 -
Java输入输出流详解
通过数据流、序列化和文件系统提供系统输入和输出。Java把这些不同来源和目标的数据都统一抽象为数据流。Java语言的输入输出功能是十分强大而灵活的,美中不足的是看上去输入输出的代码并不是很简洁,因为你往往需要包装许多不同的对象。在Java类库中,IO部分的内容是很庞大的,因为它涉及的领域很广泛:标准输入输出,文件的操作,网络上的数据流,字符串流,对象流,zip文件流。1.1、J转载 2013-10-11 10:22:25 · 914 阅读 · 1 评论 -
jdk1.8 新特性之 lambda表达式
https://blog.youkuaiyun.com/dounine/article/details/70546625 我们首先看一个java实现多线程的lambda表达式的例子常规Runnable runnable = new Runnable(){ @Override public void run() { ...转载 2018-08-04 14:41:13 · 206 阅读 · 0 评论 -
ReentrantLock(重入锁)以及公平性
http://ifeve.com/reentrantlock-and-fairness/简介ReentrantLock的实现不仅可以替代隐式的synchronized关键字,而且能够提供超过关键字本身的多种功能。这里提到一个锁获取的公平性问题,如果在绝对时间上,先对锁进行获取的请求一定被先满足,那么这个锁是公平的,反之,是不公平的,也就是说等待时间最长的线程最有机会转载 2016-08-29 14:12:31 · 461 阅读 · 0 评论 -
单例模式的推荐实现(java)
http://callmegod.iteye.com/blog/1474441Inspired by Effective Java.Singleton模式是在编程实践中应用最广泛的几种设计模式之一。以前知道的,实现单例的方法有两种(下面的A、B)。刚刚在读《Effective Java的时候》学到一种新的更好的方法(E):单元素的枚举类型。同时通过网上资料也知道了其他两转载 2013-11-07 16:10:09 · 747 阅读 · 0 评论 -
用javadoc的命令生成过帮助文档,但是包注释怎么来的呢?
用javadoc的命令生成过帮助文档,但是包注释怎么来的呢?在这个包下边增加一个package.html的文件,填上如下内容:这里填上这个包的注释。。。再用javadoc的时候,生成的html包有了注释了原创 2013-11-18 13:43:34 · 922 阅读 · 0 评论 -
题目
定义整型数组,例如int a[]={1,2,3,6,7,4,5,2,1}再定义一个整型int sum = 0,sum的值为数组a中所有加起来和为sum的所有元素集合。例如当sum=5时,输出{5},{1,4},{2,3},{2,2,1},{1,1,3}原创 2013-10-30 11:05:02 · 668 阅读 · 0 评论 -
quickSort
public void quickSort(int[] array, int begin, int end) { if (begin >= 0 && begin < end && end <= array.length) { int index = partition(array, begin, end); quickSort(array, begin, index - 1);原创 2013-10-30 16:39:27 · 792 阅读 · 0 评论 -
解决ArrayList线程不安全
http://blog.youkuaiyun.com/sdefzhpk/article/details/7310499 前些天做项目时,程序出现意外的问题,经后来分析是使用ArrayList这个线程不安全的方法导致解决这个问题通常有两种方法(个人认为)一:使用synchronized关键字,这个大家应该都很熟悉了,不解释了;二:使用Collections.synch转载 2013-10-28 14:52:56 · 805 阅读 · 0 评论 -
Java 基础
基本数据类型 所占用空间大小char 16bitbyte 8bitshort 16bitint 32bitlong 64bitfloat 32bitdouble 64bit1、作用域public,private,protected,以及不写时的区别答:区别如下:作用域 当前类 同一pack转载 2013-10-17 10:19:38 · 573 阅读 · 0 评论 -
Java 基础2
基本数据类型 所占用空间大小基本型别大小最小值最大值boolean----------------char16-bitUnicode 0Unicode 2^16-1byte8-bit-128+127short16-bit-2^15+2^15-1转载 2013-10-17 10:21:01 · 655 阅读 · 0 评论 -
译《Understanding Weak References》
Understanding Weak References以前我招聘过高级java工程师,其中一个面试题目是“你对weak reference了解多少?”。这个话题比较偏,不指望每个人都能清楚它的细节。如果面试的人说“Umm...好像和gc(垃圾回收)有点关系?”,那我就相当满意了。实际情况却是20多个5年java开发经验的工程师只有2个知道有weak reference这么回事,其中转载 2013-10-11 10:47:19 · 599 阅读 · 0 评论 -
WeakReference与SoftReference
http://flyneil.iteye.com/blog/1345177WeakReference与SoftReference都可以用来保存对象的实例引用,这两个类与垃圾回收有关。WeakReference是弱引用,其中保存的对象实例可以被GC回收掉。这个类通常用于在某处保存对象引用,而又不干扰该对象被GC回收,通常用于Debug、内存监视工具等程序中。因转载 2013-05-28 13:36:52 · 751 阅读 · 0 评论 -
有感应聘Java笔试时可能出现问题及其答案 part one
有些回答不太好,所以对部分答案有做修改-------------------------------------------------------------以前整理了一篇文章《有感:应聘Java笔试时可能出现问题及其答案》发布到csdn的blog上,很多人看了以后认为很有用处,特别是对于即将参加java面试的朋友们,很多人给我反馈了意见或者向我请教问题,实在是不敢当,本人也是菜鸟一个,转载 2013-02-19 11:15:44 · 621 阅读 · 0 评论 -
有感:应聘Java笔试时可能出现问题及其答案 Part two
有部分答案有些问题,所以有做修改------------------------------------------------------------以前整理了一篇文章《有感:应聘Java笔试时可能出现问题及其答案》发布到csdn的blog上,很多人看了以后认为很有用处,特别是对于即将参加java面试的朋友们,很多人给我反馈了意见或者向我请教问题,实在是不敢当,本人也是菜鸟一个,只是做了转载 2013-02-19 11:23:10 · 577 阅读 · 0 评论 -
a++运算符
题目 int i = 1; i = i++; System.out.println("i= " + i); i = 1; i = i+++++i; System.out.println("i= " + i); i = 1; i = i+++++i+++i; System.out.println("i= " + i);运算原创 2013-02-20 11:20:08 · 595 阅读 · 0 评论 -
java构造顺序
一般情况下的初始化顺序,如果有基类的话向基类递归1 类的static成员初始化2 将分配给对象的存储空间初始化成二进制零3 类的成员初始化4 类的构造器例子,class A extends B {},之后new A()1 初始化B的静态成员,初始化A的静态成员2 将B,A类分配的内存空间格式化3 初始化B的成员变量,调用B的构造器4 初始化A的成员变量,原创 2013-03-04 14:00:12 · 370 阅读 · 0 评论 -
有感:应聘Java笔试时可能出现问题及其答案 part four
以前整理了一篇文章《有感:应聘Java笔试时可能出现问题及其答案》发布到csdn的blog上,很多人看了以后认为很有用处,特别是对于即将参加java面试的朋友们,很多人给我反馈了意见或者向我请教问题,实在是不敢当,本人也是菜鸟一个,只是做了一点整理工作而已,所有问题与答案都来自于网络。 最近由于换工作,又收集到了一点资料,所以我决定再整理一个版本出来,再一次声明,题目与答案都来自转载 2013-02-19 11:27:52 · 446 阅读 · 0 评论 -
有感:应聘Java笔试时可能出现问题及其答案 part three
以前整理了一篇文章《有感:应聘Java笔试时可能出现问题及其答案》发布到csdn的blog上,很多人看了以后认为很有用处,特别是对于即将参加java面试的朋友们,很多人给我反馈了意见或者向我请教问题,实在是不敢当,本人也是菜鸟一个,只是做了一点整理工作而已,所有问题与答案都来自于网络。 最近由于换工作,又收集到了一点资料,所以我决定再整理一个版本出来,再一次声明,题目与答案都来自转载 2013-02-19 11:23:42 · 972 阅读 · 0 评论 -
JAVA语言编码规范
http://blog.youkuaiyun.com/thl789/article/details/8025273翻译自SUN (Oracle)官方文档Code Conventions for the Java Programming Language并修正了原文html版本里的两处错误!欢迎转载,不过如果不能保持排版格式,转载编码规范请慎重! JAVA转载 2013-02-18 21:36:39 · 587 阅读 · 0 评论 -
Unicode编码及其实现:UTF-16、UTF-8,and more
http://blog.youkuaiyun.com/thl789/article/details/7506133本文主要讨论Unicode的编码及其各种实现,着重讨论UTF-16,UTF-8的实现规则,以及Big-endian和Little-Endian的存储顺序。一、Unicode编码 Unicode出现之前已经有各种编码标准:AN转载 2013-02-17 17:25:25 · 444 阅读 · 0 评论 -
JAVA反射机制
JAVA反射机制:“程序运行时,允许改变程序结构或变量类型,这种语言称为动态语言”。从这个观点看,Perl,Python,Ruby是动态语言,C++,Java,C#不是动态语言。但是JAVA有着一个非常突出的动态相关机制:Reflection,用在Java身上指的是我们可以于运行时加载、探知、使用编译期间完全未知的classes。换句话说,Java程序可以加载一个运行时才得知名称的class,获悉转载 2013-02-07 15:22:26 · 320 阅读 · 0 评论 -
java 运算符优先级
在实际的开发中,可能在一个运算符中出现多个运算符,那么计算时,就按照优先级级别的高低进行计算,级别高的运算符先运算,级别低的运算符后计算,具体运算符的优先级见下表:运算符优先级表优先级运算符结合性1() [] .从左到右2! +(正) -(负) ~ ++ --转载 2012-12-13 13:33:16 · 476 阅读 · 0 评论 -
获取java native函数signature的快捷方法--javap工具
http://blog.youkuaiyun.com/flydream0/article/details/7426588之前在做jni编程的时候,一直不知道还有个工具可以快速地获取java native方法的签名. 看来out了....用法:javap -s packagename.classname示例:如果是 javap -s -p packag转载 2013-03-05 11:31:29 · 850 阅读 · 0 评论 -
java基础测试1
1.设有String s=”Java”;以下语句中合法的是____A______。A、s+=” programming”;B、int len=s.length;C、char c=s[0];D、String s1=s.touppercase();2.在Java中,由Java编译器自动引入,无需在程序中用import语句引入的包是___B____。A、java.applet B转载 2013-02-20 14:47:05 · 3792 阅读 · 0 评论 -
HashSet, HashMap, HashTable
首先将HashSet与HashTable hashMap区别开:(1)HashSet是set的一个实现类,hashMap是Map的一个实现类,同时hashMap是hashTable的替代品(为什么后面会讲到).(2)HashSet以对象作为元素,而HashMap以(key-value)的一组对象作为元素,且HashSet拒绝接受重复的对象.HashMap可以看作三个视图:key的S转载 2013-03-07 11:53:25 · 501 阅读 · 0 评论 -
当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法? ?(2nd)
http://blog.youkuaiyun.com/yexianyi/article/details/4125633当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法?(2nd) 日前在网上见到一道Java笔试试题,如题所述。给出的答案如下:答:不能,一个对象的一个synchronized方法只能由一个线程访问。 本人认为有些所转载 2013-03-20 22:05:59 · 1296 阅读 · 4 评论 -
java内部类的作用分析
提起Java内部类(Inner Class)可能很多人不太熟悉,实际上类似的概念在C++里也有,那就是嵌套类(Nested Class),关于这两者的区别与联系,在下文中会有对比。内部类从表面上看,就是在类中又定义了一个类(下文会看到,内部类可以在很多地方定义),而实际上并没有那么简单,乍看上去内部类似乎有些多余,它的用处对于初学者来说可能并不是那么显著,但是随着对它的深入了解,你会发现Java的转载 2013-04-02 15:54:37 · 481 阅读 · 0 评论