- 博客(26)
- 资源 (7)
- 收藏
- 关注
原创 多生产者和多消费者---Java程序
/** * 这是生产者和消费者程序的升级——多生产者和多消费者 * @author j * 这个程序是有点意思的 *//**多生产者,多消费者JDK1.5后解决多生产者与消费者问题java.util.concurrent.locks 包下的Lock: Lock 实现提供了比使用 synchronized 方法和语句可获得的更广泛的锁定操作Condi
2012-10-10 23:54:53 1039
原创 读JDK中Thread类源码有感
以前就读过一点点JDK的源码,今天回顾多线程的时候大致读了读Thread类的源码,感觉源码的精妙无处不在啊。 public void run() { if (target != null) { target.run(); } }public class Thread implements Runnable {/* What will be run. */
2012-10-08 22:08:53 1130 1
转载 为何多线程就能提高Java程序的执行效率
假设系统中目前有n个线程,系统通过一定的调度算法在不同的线程环境之间切换(为此线程必须要有一个上下文环境,一个调用栈来记录历史状态和当前状态)。每个线程往往获得一段运行时间(时间片)之后就被挂起,在适当的时机再被恢复继续运行。现在假设所有的线程优先级是一样的,那么1s中一个单线程的进程获得的时间会是1/n s,如果现在再多加x个线程,那整个进程中的线程就变成x+1,而整个系统中的线程则变成x+
2012-10-08 20:55:04 4141
转载 Native Method
一. 什么是Native Method简单地讲,一个Native Method就是一个java调用非java代码的接口。一个Native Method是这样一个java的方法:该方法的实现由非java语言实现,比如C。这个特征并非java所特有,很多其它的编程语言都有这一机制,比如在C++中,你可以用extern "C"告知C++编译器去调用一个C的函数。"A native method
2012-10-08 20:46:20 603
原创 静态方法哪来的多态啊
public class Test { public static void main(String[] args) { Father f=newSon(); f.eat(); Sons=newSon(); s.eat(); }} class Father{ public stat
2012-10-05 11:57:03 574
原创 类属性不能多态
只有方法实现了多态,属性是不能多态的public class Test {public static void main(String[] args) {Father f1=new son1();Father f2=new son2();System.out.println(f1.i);System.out.println(f2.i);}}cla
2012-10-05 10:24:12 851
转载 浅尝Eclipse Memory Analyzer(MAT)
前言在平时开发、测试过程中、甚至是生产环境中,有时会遇到OutOfMemoryError,Java堆溢出了,这表明程序有严重的问题。我们需要找造成OutOfMemoryError原因。一般有两种情况:1、内存泄露,对象已经死了,无法通过垃圾收集器进行自动回收,通过找出泄露的代码位置和原因,才好确定解决方案;2、内存溢出,内存中的对象都还必须存活着,这说明Java堆分配空间不足,
2012-10-04 12:18:44 14444 2
原创 多线程回顾
很久没有写多线程的程序了,今天回顾了一下第一步,弄清楚线程的状态,不然搞不清楚线程在内存中是怎么从开始到结束的,上图:很久没有写多线程的程序了,今天回顾了一下第一步,弄清楚线程的状态,不然搞不清楚线程在内存中是怎么从开始到结束的,上图:
2012-10-03 10:44:42 688
原创 Java细节(9.22)
1.浮点数右移 什么效果?2.有整数型除以整数是得不到精确的值。3.怎样一次性跳出(结束)两次循环。在使用时,break后面不能再有语句,即break应该是最后一条语句。4.continue如果单独出现,不可以在其下出现其他语句5.“标号”。注意continue first之后,是直接跳到去执行步长,而不会执行first循环后面的语句。6.浮点数不能位移!7.活字印刷术
2012-09-22 23:42:18 557
原创 Java的一些细节
1.分号很重要,代表语句结束。2.switch比if else的效率高些,它会直接找到对应的值,比用去一个一个的判断。jdk1.7后可以判断字符串!case后面必须是常量;switch括号中的值只能是byte,char,short,int这四种类型。switch的几个注意事项还是要注意下。3.while与if的区别:if只进行一次判断,while进行多次判断。4.i=a++;这条语句要
2012-09-22 23:41:37 493
原创 一些细节问题(9.20)
1.标识符用数字开头和关键字试试2.关键字都是小写?3.用public修饰的class类是否必须跟文件名一致 我实验了,确实如此4.java的名称规范还不是很熟,平时命名不规范。比如类名、方法名、变量名等等。5.字符常量要特别注意,单引号内只能有一个字符,可以为一个中文,如'中'。字符是几位字节?字符是两个字节!5,'5',"5"这是三个概念!6.null常量:代表空,表示内
2012-09-22 23:40:50 817
原创 这几天写的几个小程序
在网上找了几个小练习题做了做,回顾回顾基础 /** 小明在一张纸上写了一个四位数3_45(其中_代表一个看不清的数字)。已知这个四位数被3除后值为1115,编程求出_*/class ti1{ public static void main(String[] args) { int a = 1115*3; int _ = a%1000/100; Sy
2012-09-22 22:02:18 553
原创 Java学习(回顾)笔记之day4
第一节 break 在switch中可以使用 在循环中可以使用 continue 在循环中使用 break作用:是用来停止循环的.在使用时注意,如果break单独出现,其下不可以在有语句. continue 中止当次循环,执行下一次循环,可以理解成遇到continue,就去执行步长. continue如果单独出现,不可以在其下出现其它
2012-09-22 21:59:38 442
原创 Java学习(回顾)笔记之day3
第一节 1.位运算符 什么是位运算符,简单说就是可以直接操作二进制的运算符 >> 它的作就是将一个二进制向右移动n次,移出部分舍弃,左边原来是0用0补,原来是1用1补,它相当于除2 >>> 无符号右移 它与>>区别在于,无论高位是0,还是1,右移都用0来补充. 二进制中 0为false,1为true & 有一个为0,结果就为0,两
2012-09-22 21:58:38 393
原创 Java学习(回顾)笔记之day2
第一节1.标识符与关键字 1.1我们在写程序代码时,会在程序中定义一些名字,比如果类名class 类名{}在程序中可以由开发人员起名字的地方就叫标识符标识符的组成:由数字0-9 ,字母a-z A-Z ,下划线 _ ,$美元符组成.不能以数字开头.长度无限制,不能包含空格.class HelloWorld{}
2012-09-22 21:52:39 691
原创 html基础回顾
写的代码如下:欧也这是我的第一个网页欧也标题一<html>是网页的开始标签-->电脑手机相机电脑手机相机上层项目下层项目下层项目下层项目1.游戏名称a.征途b.魔兽2.游戏类型a.付费b.免费--
2012-09-19 23:13:30 684
原创 Java学习(回顾)笔记之day1
------- android培训、java培训、期待与您交流! ----------1.常用DOS命令 Dir 显示当前目录下的所有文件与文件夹 Md 创建文件夹 Rd 删除文件夹 如果目录不为空是不能删除 Cd 文件夹 进入文件夹 cd.. 退到上一层路径 cd \ 退到当前路径的根目录del 删除文
2012-09-19 14:27:16 500
原创 Struts的简单使用
两个步骤:1.通过元素来“定义”拦截器2.通过元素来“使用”拦截器 http://struts.apache.org/dtds.struts-2.1.7.dtd> >
2012-08-04 17:03:15 425
原创 JSON 是 JavaScript 原生格式 以及引申出来的思考
问题:下面这句话如何更深层次的理解?掌握了 JSON 格式之后,在 JavaScript 中使用它就很简单了。JSON 是 JavaScript 原生格式,这意味着在 JavaScript 中处理 JSON 数据不需要任何特殊的 API 或工具包。
2012-08-04 09:34:32 547
转载 MyEclipse中分别通过buildpath和lib导入jar包的区别
第一篇博文 纪念一下 我这个记性实在不好 所以以后会把学习中遇到的问题和解决的办法记在这里 聚沙成塔 积水成渊吧 csdn和这里都有博客 希望能与更多人交流吧这个问题早就发现了 但今天想搞清楚是为什么今天写一个小项目 通过buildpath导入MySQL的驱动jar包 结果编译没问题 运行出错 (而且在.classpath文件里面是有我引入jar包的路径的)java.lang.Cl
2012-08-03 11:07:49 2767
原创 在服务器部署里找不到我要部署的项目
其实问题就出在check out项目的步骤上,由于一个不经意的选择造成了一个可以部署,另外一个不能部署,坑爹!我check out项目的方式是:(我选择的是“作为工作空间中的项目检出”)正确的方式应该这样:
2012-08-03 11:01:16 827
转载 数据库读写分离
随着一个网站的业务不断扩展,数据不断增加,数据库的压力也会越来越大,对数据库或者SQL的基本优化可能达不到最终的效果,我们可以采用读写分离的策略来改变现状。读写分离现在被大量应用于很多大型网站,这个技术也不足为奇了。ebay就做得非常好。ebay用的是oracle,听说是用Quest Share Plex 来实现主从复制数据。 读写分离简单的说是把对数据库读和写的操作分开对应不同的
2012-08-02 20:29:29 499
转载 eclipse和Myeclipse什么关系
Eclipse 是一个IDE(Integrated Developing Environment),而这个IDE是允许安装第三方开发的插件来使自身的功能得到扩展和增强的,而Myeclipse就是其中的一种有名的插件集之一,MyEclipse将开发者常用到的一些有用的插件都集合起来,但它是收费的。 MyEclipse为Eclipse提供了一个大量私有和开源的Java工具的集合,这解决了各种开
2012-07-28 17:37:46 498
转载 Eclipse 使用dropins的插件安装方式【转】
以前安装Eclipse插件无非两种方式, 直接copy插件到features/plugins目录或者在links目录下创建链接文件. 刚刚发布的Eclipse 3.5又推出另一种新的安装途径, 更加灵活。Eclipse 3.5下有个dropins目录, 只要把插件放到该目录下就可以加载, 有几种格式可以选择。Eclipse 3.5插件安装方式 以前安装Eclip
2012-07-28 17:34:19 875
myBaseDesktop6
2012-12-20
w3school中文手册(里面什么手册都有,包括浏览器脚本、服务器脚本和XML等等)
2012-12-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人