- 浏览: 311099 次
- 性别:
- 来自: 武汉
最新评论
-
r463579217:
给一下代码demo呀
Java多线程总结之聊一聊Queue -
水土第一:
LZ 中间文章里面可能有单词拼写错误,小弟补一下。。。
pa ...
Java多线程总结之由synchronized说开去 -
xy_z487:
>> 回调函数:A调用B,同时传A给B。B执行完会 ...
深入浅出Java回调机制 -
xuxiaoyinliu:
THANKS 第一次遇到这种错误,原来是这样
String的valueOf方法传入null -
sinat_25176913:
赞赞赞,一直还在想为什么得到的是一个"null&qu ...
String的valueOf方法传入null
文章列表
http://hellosure.github.io
转自http://hellosure.github.io/android/2015/03/28/android-onsaveinstancestate/
先看Application Fundamentals上的一段话:
Android calls onSaveInstanceState() before the activity becomes vulnerable to being destroyed by the system, but does not bother calling it when the instance is actually ...
转自http://hellosure.github.io/java/2014/09/10/java-sugar/
语法糖
语法糖方便了程序员的开发,提高了开发效率,提升了语法的严谨也减少了编码出错误的几率。我们不仅仅在平时的编码中依赖语法糖,更要看清语法糖背后程序代码的真实结构,这样才能更好的利用它们。。
泛型
与C#中的泛型相比,Java的泛型可以算是“伪泛型”了。在C#中,不论是在程序源码中、在编译后的中间语言,还是在运行期泛型都是真实存在的。Java则不同,Java的泛型只在源代码存在,只供编辑器检查使用,编译后的字节码文件已擦除了泛型类型,同时在必要的地方插入了强制转型的代码。
p ...
转自http://hellosure.github.io/python/2014/11/11/python/
Bruce Eckel著名的《Thinking in Java》和《Thinking in C++》的作者。他说没有一种语言比得上Python使他的工作效率如此之高。同时他说Python可能是唯一一种旨在帮助程序员把事情弄得更加简单的语言。
看了之后发现swift像谁了——python
一些知识点
弱类型,变量不需要类型声明。动态语言,非编译语言。 通过type()方法可以获取变量的类型。 True/False首字母必须大写。
[]是可以变更的列表。 ()是常量列表,不能再变更,可 ...
转自http://hellosure.github.io/rails/2015/04/01/rails-and-other/
首先,这不是一个比较贴,语言和框架能比较吗?
其次,我也没有全部用过
本文唯一的目的在于提醒自己(还有正在浏览的你)真正所需要关注的究竟是什么
PHP
PHP是simple but dir ...
继承是再普通不过的概念,但是你真的能玩的转吗?
父类Person
public class Person {
public void getName(){
System.out.println("person name");
}
public void getPersonAge(){
System.out.println("person age");
}
}
子类Student
public class Student extends Person {
public void getName(){
...
Object类中的equals:
public boolean equals(Object obj) {
return (this == obj);
}
可见equals方法就是比较引用是不是相同,感觉挺没用的一个方法。
所以String类覆盖为:
public boolean equals(Object anObject) {
if (this == anObject) {
return true;
...
Java会对成员变量进行自动初始化,并且在构造方法执行之前完成。
比如:
public class Finally {
int a =1;
Finally(){
a =2;
}
public static void main(String[] args){
Finally f = new Finally();
}
}
单步调试的结果显示:
创建对象f的过程,成员变量a先被初始化1,然后进入构造函数中被更新为2。
多线程常用方法比较汇总
- 博客分类:
- Java技术
从操作系统的角度讲,os会维护一个ready queue(就绪的线程队列)。并且在某一时刻cpu只为ready queue中位于队列头部的线程服务。
但是当前正在被服务的线程可能觉得cpu的服务质量不够好,于是提前退出,这就是yield。(这是yield ...
关于java多线程的一篇不错的入门级文章
- 博客分类:
- Java技术
虽然都是老生常谈,而且入门级,但是讲的很不错。
一、理解多线程
多线程是这样一种机制,它允许在程序中并发执行多个指令流,每个指令流都称为一个线程,彼此间互相独立。
线程又称为轻量级进程,它和进程一样拥有独立的执行控制,由操作系统负责调度,区别在于线程没有独立的存储空间,而是和所属进程中的其它线程共享一个存储空间,这使得线程间的通信远较进程简单。
多个线程的执行是并发的,也就是在逻辑上“同时”,而不管是否是物理上的“同时”。如果系统只有一个CPU,那么真正的“同时”是不可能的,但是由于CPU的速度非常快,用户感觉不到其中的区别,因此我们也不用关心它,只需要设想各个线程是同时执行即可。
多 ...
多线程例子:yield
- 博客分类:
- Java技术
public class Test {
public static void main(String[] args) {
Thread t1 = new MyThread1();
Thread t2 = new Thread(new MyRunnable());
t2.start();
t1.start();
}
}
class MyThread1 extends Thread {
public void run() {
for (int i = 0; i < 10; i++) {
System.out.println(&q ...
微处理器中的位数就是其一次所能处理的二进制数的位数。
寄存器中的位数、数据总线的位数是与处理器的位数一致的,它们一般来说是相等的,这是为什么呢?因为一般处理器中的算术逻辑单元(Arithmetic and Logic Unit)ALU是通 ...
在遇到一些小问题的时候我们经常会使用Javap反编译取得字节码来分析,虽然Javap能完成这个工作,但是有两个缺点,一方面操作麻烦,需要很多步骤,一方面没有文档注释,对新手来说看起字节码来比较麻烦。
这里推荐一个工具,Bytecode Outline .它是Eclipse的插件,可以把当前的正在编辑Java的文件或者class文件直接显示出其相应的字节码出来,而且可以进行两个Java文件的字节码比较或者两个class文件的字节码比较或一个Java文件与一个class文件进行字节码的比较。
安装方法:和其它插件类似,可以拷贝到plugin下也可以link方式安装
下载地址:http:/ ...
String的valueOf方法传入null
- 博客分类:
- Java技术
这个问题很有意思
Object obj = null;
System.out.println(String.valueOf(obj));
System.out.println(String.valueOf(null));
第一句可以打印出null,但是第二句报空指针异常。
造成这种区别的原因在于两者选取了不同的重载方法。
Java的重载过程分两个阶段。
第一阶段选取所有可获得并且可应用的方法或构造器。看一下String.valueOf()源码,有以下几个重载方法可供选择:
String valueOf(Object obj) //①
Stri ...
多线程例子:join
- 博客分类:
- Java技术
package sure;
import java.util.Random;
public class MultThread {
public static void main(String[] args) {
System.out.println("in " + Thread.currentThread().getName());
long start = System.currentTimeMillis();
CounterThread[] ct = new CounterTh ...