随笔分类 -  JAVA

maven2介绍(转)
摘要:http://ttitfly.iteye.com/blog/152557Maven2主要配置文件:pom.xml和settings.xml。POM是Maven的核心对象模型,对于项目,一般只需要pom.xml就行了。settings.xml配置在Maven2中存在两种级别:用户级,针对操作系统登录用户而言。一般在$home/.m2/,对于windows用户,就是目录:C:\Documents and Settings\用户名\.m2\settings.xml。全局级:一般在%M2_HOME%/conf/settings.xml,M2_HOME是Maven2的根目录环境变量名。Maven2提供预 阅读全文

posted @ 2014-01-26 09:18 gogoy 阅读(315) 评论(0) 推荐(0) 编辑

研读Java代码必须掌握的Eclipse快捷键
摘要:1. Ctrl+左键 和F3 这个是大多数人经常用到的,用来查看变量、方法、类的定义跳到光标所在标识符的定义代码。当按执行流程阅读时,F3实现了大部分导航动作。2 Ctrl+Shift+G在工作空间中查找引用了光标所在标识符的位置。可以说是与F3相反的快捷键。当按类定义进行阅读时,可以迅速找出当前类方法在被哪些类调用了。3. Ctrl+O查看一个类的纲要,列出其方法和成员变量。提示:再多按一次Ctrl+O,可以列出该类继承的方法和变量。助记:"O"--->"Outline"--->"纲要"4 F4打开继承树。显示当前类所在 阅读全文

posted @ 2013-12-04 17:35 gogoy 阅读(256) 评论(0) 推荐(0) 编辑

面向对象的设计原则(2)——依赖注入
摘要:面向对象的设计原则(1)中提到的设计方法都是一种数据组织的一种方式,这几种都是主动依赖(主动去索取对象) 业务的东西都需要依赖框架的东西1、如果依赖的框架坏了2、或者要由静态工厂 改为 环境变量 这两种情况都需要改变为了解决上述问题,引入对象注入(依赖注入——电视依赖面板、依赖反转——框架的东西依赖于业务的东西)例1: 1 package objectoriented.coupling5; 2 3 import java.util.HashMap; 4 import java.util.Map; 5 6 7 public class Example { 8 pu... 阅读全文

posted @ 2013-11-23 19:50 gogoy 阅读(594) 评论(0) 推荐(0) 编辑

面向对象的设计原则(1)
摘要:一、概况1、面向对象的关键字 类、对象、引用、属性、方法 接口、抽象类 继承、组合 私有、包、共有 ……2、面向对象编程 一切皆是对象 程序是对象的集合,它们通过发送消息告诉彼此该做什么 每个对象都有自己的属性(存储) 每个对象都拥有类型 某一特性类型的所有对象都可以接受同样的消息 总结起来:状态、行为、标示 状态(属性)、行为(方法)、标示(说明了我们不同的类型区别)3、面向对象的原则 高内聚、低耦合 (高内聚是指:一个组件内部是一个非常紧密的集合) 将变化与不变分开 依赖抽象,而不是依赖具体 多用组合、少用继承 开放-关闭原则 ……二、面向对象的设计实例1、New的不足 ... 阅读全文

posted @ 2013-11-23 17:39 gogoy 阅读(259) 评论(0) 推荐(0) 编辑

JAVA类的加载(5)——总结
摘要:总结一下:1、类加载(初始化) 包括加载(类的class文件读入内存,并为之创建一个java.lang.Class对象,由类加载器完成)、连接(把类的二进制数据合并到JRE中)、初始化(对静态属性进行初始化) 三个步骤2、什么时候会 进行 类加载(初始化) (1)创建类的实例:包括用new、反射、反序列化来创建 (反序列化时候——构造器不会被调用,类似于赋值也不会被调用) (2)调用某个类的静态方法 (3)访问某个类或接口的静态属性,或为该静态属性赋值 (final类型的静态属性,如果它的值在编译时就可以得到,系统使用时会认为是对该类的被动使用,所以不会导致该类的初始化) (4)使用反射... 阅读全文

posted @ 2013-11-19 11:46 gogoy 阅读(277) 评论(0) 推荐(0) 编辑

JAVA类的加载(4) ——类之间能够隔离&类占用的资源能回收
摘要:一、类加载体系类加载方式:代理模式 或 双亲委托例1: 1 package classloader.system; 2 3 public class Example { 4 public static void main(String[] args) { 5 /*应用的类加载器是AppClassLoader,首先委托父ClassLoder(ExtClassLoder)从他自己的资源池中(jre/lib/ext)找这个类, 6 * 在这之前,ExtClassLoder又委托父ClassLoader(BootStrapClassLoader)从jre/l... 阅读全文

posted @ 2013-11-13 11:51 gogoy 阅读(1240) 评论(0) 推荐(0) 编辑

JAVA类的加载(3) ——类加载后能够有效运行
摘要:例1: 1 package classobject; 2 3 import java.lang.reflect.Constructor; 4 import java.lang.reflect.InvocationTargetException; 5 import java.util.Arrays; 6 import java.lang.reflect.Method; 7 8 9 10 11 public class Reflect_Example { 12 13 public static void main(String[] args) { 14 ... 阅读全文

posted @ 2013-11-12 17:04 gogoy 阅读(471) 评论(0) 推荐(0) 编辑

JAVA类的加载(1) ——类的加载及类加载器介绍
摘要:过程:当程序主动使用某个类时,如果该类还未被加载到内存中,系统会通过加载、连接、初始化三个步骤来对该类进行初始化,有时候称为类加载(类初始化)类加载 定义:类加载 指的是将类的class文件读入内存,并为之创建一个java.lang.Class对象类也是一种对象:每个类是一批具有相同特征的对象的抽象,而系统中的所有类,它们实际上也是对象,它们都是java.lang.Class的实例类加载器:类的加载由类加载器完成,JVM提供的类加载器称为系统类加载器,开发者可以通过继承ClassLoader基类来创建自己的类加载器使用不同的类加载器,可以从不同的来源加载类的二进制数据,通常有如下几种来源: . 阅读全文

posted @ 2013-11-12 14:24 gogoy 阅读(666) 评论(0) 推荐(0) 编辑

JAVA类的加载(2) ——按需加载(延迟加载)
摘要:1、例1: 1 /* 2 按需加载:当你不去实例化Cat时,Cat相关类都不会被加载,即按需加载(需要时加载) 3 1、先加载父类 4 2、初始化类 5 3、类只加载一次(暂且这么认为)——缓存 6 7 加载方法:1、隐式加载 2、显式加载 8 */ 9 public class Example {10 public static void main(String[] args) throws ClassNotFoundException {11 System.out.println("\n准备实例化Cat");12 Cat cat = new Cat... 阅读全文

posted @ 2013-10-29 19:08 gogoy 阅读(2737) 评论(0) 推荐(0) 编辑

JAVA线程池
摘要:背景:系统启动一个线程的成本是比较高的,因为它涉及到与操作系统交互。在这种情况下,使用线程池可以很好地提高性能,尤其是当程序中需要创建大量生存期很短暂的线程时,更应该考虑使用线程池 原理:线程池在系统启动时就创建大量空闲线程,程序将一个Runnable对象传给线程池,线程池将会启动一条线程来执行该对象的run方法,当run方法执行结束后,该线程并不会死亡,而是再次返回线程池中成为空闲状态,等待执行下一个Runnable对象的run方法;此外,使用线程池可以有效控制系统中的并发线程的数量 使用线程池来执行线程任务的步骤如下:(1)调用Executors类的静态工厂方法创建一个Exec... 阅读全文

posted @ 2013-10-29 16:00 gogoy 阅读(366) 评论(0) 推荐(0) 编辑

使用visualvm远程监控JVM
摘要:参考:http://blog.sina.com.cn/s/blog_4e90b3ba0100muco.html1、首先要修改JDK中JMX服务的配置文件,以获得相应的权限:在jdk-1.6.0_26/jre/lib/management找到jmxremote.password.template,两种方法:(1)使用该方法,则对应于步骤2中的(1)(2)(4) a. 将jmxremote.password.template文件复制为jmxremote.password b. 调整jmxremote.access和jmxremote.password的权限为只读写,可以使用如下命令 ch... 阅读全文

posted @ 2013-10-23 19:41 gogoy 阅读(409) 评论(0) 推荐(0) 编辑

JAVA多线程(1)——线程
摘要:1、定义:线程是一个程序里面不同的执行路径例子1:只有一个执行路径 (一个分支,即主线程)每个分支都是一个线程:(1)进程是一个静态概念(进程:exe文件、class文件,其实进程是静态的概念,机器上实际运行的都是线程)(2)线程是进程里面的执行路径(3)一个CPU,在一个时间点,只能执行一个线程(因为CPU速度快,切换运输,人不能看出来) 阅读全文

posted @ 2013-10-10 19:33 gogoy 阅读(173) 评论(0) 推荐(0) 编辑

JAVA多线程(3)——如何加锁
摘要:1、加锁不正确导致数据不一致:m1执行过程中,m2(未加synchronized)可以执行,因为m2不用获得锁就可以执行 1 public class TT implements Runnable { 2 int b = 100; 3 4 public synchronized void m1() throws Exception { 5 b = 1000; 6 System.out.println("in m1() before sleep,b="+b); 7 Thread.sleep(5000); 8 ... 阅读全文

posted @ 2013-10-10 19:22 gogoy 阅读(1006) 评论(0) 推荐(0) 编辑

JAVA多线程(2)——锁(对象锁和类锁)
摘要:1、如下代码 1 public class TestSync1 implements Runnable { 2 Timer1 timer = new Timer1(); 3 public static void main(String[] args) { 4 TestSync1 test = new TestSync1(); 5 Thread t1 = new Thread(test); 6 Thread t2 = new Thread(test); 7 t1.setName("t1"); 8 t2... 阅读全文

posted @ 2013-10-08 15:59 gogoy 阅读(477) 评论(0) 推荐(0) 编辑

JAVA 类显式加载
摘要:类显式加载1、Class.forName("classloader.Dog"); 方式加载 Example1 1 package classloader; 2 3 public class Example { 4 public static void main(String[] args) throws ClassNotFoundException { 5 6 Class dogClass = Class.forName("classloader.Dog"); 7 System.out.println("className=" + d 阅读全文

posted @ 2013-09-30 17:21 gogoy 阅读(844) 评论(0) 推荐(0) 编辑

EhCache使用详细介绍
摘要:http://hi.baidu.com/yjl_zzh/item/18e6518397cdd1d9d1f8cdfb2.EhCache的使用注意点 当用Hibernate的方式修改表数据(save,update,delete等等),这时EhCache会自动把缓存中关于此表的所有缓存全部删除掉(这样能达到同步)。但对于数据经常修改的表来说,可能就失去缓存的意义了(不能减轻数据库压力); 阅读全文

posted @ 2013-09-30 16:52 gogoy 阅读(165) 评论(0) 推荐(0) 编辑

Java RMI 入门指南
摘要:http://www.blogjava.net/zhenyu33154/articles/320245.htmlhttp://www.cnblogs.com/ninahan0419/archive/2009/06/25/JavaRMI.html 阅读全文

posted @ 2013-09-30 16:52 gogoy 阅读(124) 评论(0) 推荐(0) 编辑

java 字节流与字符流的区别(缓冲区)
摘要:http://wjheye.iteye.com/blog/1041309 阅读全文

posted @ 2013-09-30 16:47 gogoy 阅读(132) 评论(0) 推荐(0) 编辑

Java问题定位技术
摘要:http://wendang.baidu.com/view/a16fe3d1240c844769eaee08.html### 阅读全文

posted @ 2013-09-30 16:45 gogoy 阅读(523) 评论(0) 推荐(0) 编辑

Java性能调优笔记
摘要:http://codermouse.iteye.com/blog/1110445CPU us 高的原因主要是执行线程不需要任何挂起动作,且一直执行,导致CPU 没有机会去调度执行其他的线程。 阅读全文

posted @ 2013-09-30 16:44 gogoy 阅读(122) 评论(0) 推荐(0) 编辑

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示