java语言
rainforc
这个作者很懒,什么都没留下…
展开
-
java 实践中的一些问题(1)
问题一、java的by value而非by reference传递方式 java中的数据类型分为两大类:基础类型和引用类型,基础类型的值传递很容易理解,它被作为参数传递并修改后,并不会影响它原来的值,而引用类型,它传的是它引用的地址,即使被传到方法内被修改后,直接会影响这个对象本身的值。举例如下public static void modifyPoint(Point p,...原创 2014-01-14 11:20:58 · 71 阅读 · 0 评论 -
java 实践中的一些问题(2)
问题四、java中对象相等的判断——equals 在平常编写代码的过程中,我们经常会需要判断2个对象是否相等,下面就谈谈如何实现满足需求的对象相等方法。 1> 一般自己来实现equals方法可以按照以下几个步骤去实现 1、如果某个class的2个对象占据不同的内存空间,也可以逻辑上认为相等,那就得为这个class定义equals()...原创 2014-04-14 16:44:28 · 75 阅读 · 0 评论 -
java编程那些年常见的问题
1、Array 与 ArrayList的转化 通常情况下,数组转list,我们会用这样的方式去转换。List<String> list = Arrays.asList(arr); 最终会得到一个ArrayList,但是这不是一个java.util.ArrayList的类对象,而是java.util.Arrays.ArrayList内部类对象,而它只有...原创 2014-08-20 20:03:21 · 92 阅读 · 0 评论 -
详细分析java中断机制
1. 引言当我们点击某个杀毒软件的取消按钮来停止查杀病毒时,当我们在控制台敲入quit命令以结束某个后台服务时……都需要通过一个线程去取消另一个线程正在执行的任务。Java没有提供一种安全直接的方法来停止某个线程,但是Java提供了中断机制。如果对Java中断没有一个全面的了解,可能会误以为被中断的线程将立马退出运行,但事实并非如此。中断机制是如何工作的?捕获或检测到中断后,是抛出Int...原创 2014-04-01 20:02:35 · 73 阅读 · 0 评论 -
java中的进程与线程及java对象的内存结构
1、实现线程的三种方式: 使用内核线程实现 内核线程(Kernel Thread, KLT)就是直接由操作系统内核支持的线程,这种线程由内核来完成线程切换,内核通过操作调度器对线程进行调度,并负责将线程的任务映射到各个处理器上。程序一般不会直接去使用内核线程,而是去使用内核线程的一种高级接口——轻量级进程(Light Weight Process,LWP),轻量级进...原创 2014-04-01 15:33:36 · 319 阅读 · 0 评论 -
java并发设计模式
一、多线程程序设计模式的评量标准 1、安全性-不损坏对象 n 对象的字段、状态出现并非预期的情况就是不安全对象n 1个以上的线程使用而不危及安全性就是线程安全的类n ArraList与Vector JDK中就有很多类似这样的非线程安全及线程安全的类,必须针对不同的场景加以利用。在多线 程环境 下,使用线程安全的类可以保证...原创 2015-03-09 19:42:48 · 89 阅读 · 0 评论 -
JDK8之lambda表达式
官方介绍:Lambda expressions are a new and important feature included in Java SE 8. They provide a clear and concise way to represent one method interface using an expression. Lambda expressions a...原创 2015-02-28 16:07:51 · 101 阅读 · 0 评论 -
谈谈JAVA的字符串
1、String类String是一个特殊的类,它自带的方法里面看起来修改字符串内容的实际上都是返回一个新的字符串,而原来的字符串从未被改变过。2、重载操作符(在特定的类操作中,操作符的含义被重新定义过)“+”操作符被用作连接字符串对象是,它底层会创建一个StringBuider对象,然后调用append方法来连接字符串。3、toString方法当“+”号连接的对象不是一个S...原创 2013-09-25 10:39:39 · 66 阅读 · 0 评论 -
说一说java集合类
1、java集合类的结构图: 2、List、Set、Map各种实现的差别: List:用于存放可重复的对象Set:用于存放不可重复的对象Map:存放键值对ArrayList适合随机访问;LinkedList适合插入和删除;HashSet使用散列,查询速度较快;TreeSet使用红黑树存储,默认按字典顺序排序;LinkedHashSet按插入顺序保存元素;HashMap快速访...原创 2013-09-23 19:40:16 · 435 阅读 · 0 评论 -
java编码与protobuf使用
1、为什么需要编码 计算机中存储信息的最小单元是一个字节即 8 个 bit,所以能表示的字符范围是 0~255 个;人类要表示的符号太多,无法用一个字节来完全表示;要解决这个矛盾必须需要一个新的数据结构 char,从 char 到 byte 必须编码。2、各种常见编码的简介ASCII 码学过计算机的人都知道 ASCII 码,总共有 128 个,用一个字节的低 7 位表...原创 2013-08-15 17:11:02 · 621 阅读 · 0 评论 -
深入浅出ClassLoader(转)
你真的了解ClassLoader吗?这篇文章翻译自zeroturnaround.com的 Do You Really Get Classloaders?(http://zeroturnaround.com/rebellabs/rebel-labs-tutorial-do-you-really-get-classloaders/4/) ,融入和补充了笔者的一些实践、经验和样例。本文的例子比...原创 2015-05-09 14:04:52 · 138 阅读 · 0 评论