![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
JJiaoAo
这个作者很懒,什么都没留下…
展开
-
并发并行,进程线程,创建方式
并行就是同一时刻,两个线程都在执行。这就要求有两个CPU去分别执行两个线程。并发就是同一时刻,只有一个执行,但是一个时间段内,两个线程都执行了。并发的实现依赖于CPU切换线程进程与线程的区别和联系:进程是系统资源分配的最小单位,线程是程序执行的最小单位;进程使用独立的数据空间,而线程共享进程的数据空间。原创 2023-01-13 16:52:44 · 86 阅读 · 0 评论 -
Java NIO核心概念及基本读写
[b]1. 引言 [/b] I/O流或者输入/输出流指的是计算机与外部世界或者一个程序与计算机的其余部分的之间的接口。新的输入/输出(NIO)库是在JDK 1.4中引入的。NIO弥补了原来的I/O的不足,它在标准Java代码中提供了高速的、面向块的I/O。 原来的I/O库与NIO最重要的区别是数据打包和传输的方式的不同,原来的 I/O 以流 的方式处理数据,而 NIO 以块 ...原创 2012-09-15 23:30:56 · 93 阅读 · 0 评论 -
Java NIO缓冲区内部实现机制
[b] 缓冲区内部实现 [/b] 从上面对NIO的学习中,我们知道每一个缓冲区都有复杂的内部统计机制,它会跟踪已经读了多少数据以及还有多少空间可以容纳更多的数据,以便我们对缓冲区的操作。在本节我们就将学习NIO的两个重要的缓冲区组件:状态变量和访问方法。虽然NIO的内部统计机制初看起来可能很复杂,但是您很快就会看到大部分的实际工作都已经替您完成了。您只需像平时使用字节数组和索引变量一样进行...原创 2012-09-17 14:03:35 · 91 阅读 · 0 评论 -
String,StringBuffer与StringBuilder的区别
String 字符串常量StringBuffer字符串变量(线程安全)StringBuilder字符串变量(非线程安全) 简要的说, String 类型和StringBuffer类型的主要性能区别其实在于 String 是不可变的对象, 因此在每次对 String 类型进行改变的时候其实都等同于生成了一个新的 String 对象,然后将指针指向新的 String 对象,所以经常改变...原创 2012-09-18 18:03:04 · 72 阅读 · 0 评论 -
Java 异常处理
[size=medium]为什么要在J2EE项目中谈异常处理呢?可能许多java初学者都想说:“异常处理不就是try….catch…finally吗?这谁都会啊!”。笔者在初学java时也是这样认为的。如何在一个多层的j2ee项目中定义相应的异常类?在项目中的每一层如何进行异常处理?异常何时被抛出?异常何时被记录?异常该怎么记录?何时需要把checked Exception转化成uncheck...原创 2012-09-21 16:06:40 · 87 阅读 · 0 评论 -
java关键字——strictfp
[size=medium]strictfp, 即 strict float point (精确浮点)。 strictfp关键字可应用于类、接口、方法。 使用 strictfp 关键字声明一个方法时,该方法中所有的float和double表达式都严格遵守FP-strict的限制,符合IEEE-754规范。当对一个类或接口使用 strictfp 关键字时,该类中的所有代码,包括嵌...原创 2012-10-01 10:30:59 · 254 阅读 · 0 评论 -
位运算符在Java编码中的两个应用
[size=medium]位运算符用于处理整型和字符型的操作数.位运算符是完全针对二进制位(bit)单位的操作.下面介绍两种位运算符的巧妙应用![b]1.位移运算(右移,>>>无符号右移)[/b] TIP:[color=red]一個數左移n位,就是將這個數乘以2的n次方,一個數右移n位,就是將這個數除以2的n次[/color]方.如y1的结果与y/2的结果相同.下面是一个例...原创 2012-10-03 22:27:44 · 182 阅读 · 0 评论 -
总结一下 Spring的IOC、DI
[size=medium]国庆节刚过,应一些朋友的提问,总结一下Spring中IOC也即DI的通俗理解。[b]IOC、DI模式1.依赖[/b]依赖就是有联系,有地方使用到它就是有依赖它,一个系统不可能完全避免依赖。如果你的一个类或者模块在项目中没有用到它,恭喜你,可以从项目中剔除它或者排除它了,因为没有一个地方会依赖它。下面看一个简单的示例:[/size][code="ja...原创 2012-10-14 21:16:50 · 96 阅读 · 0 评论 -
Easy Explorer 插件安装 下载
Easy Explorer是一个Eclipse插件,主要用于快速浏览项目文件的目录,实用性比较强。使用方法如下: 1、下载Easy Explorer,从此处下载EasyExplorer:http://sourceforge.net/projects/easystruts/ 界面有可能打不开,从我下面附件下载吧 2、将org.sf.easyexplor...原创 2015-02-06 10:37:26 · 326 阅读 · 0 评论 -
Java中十个常见的违规编码
最近,我给Java项目做了一次代码清理工作。经过清理后,我发现一组常见的违规代码(指不规范的代码并不表示代码错误)重复出现在代码中。因此,我把常见的这些违规编码总结成一份列表,分享给大家以帮助Java爱好者提高代码的质量和可维护性。这份列表没有依据任何规则或顺序,所有的这些都是通过代码质量工具包括CheckStyle,FindBugs和PMD检查出。一起来看下:[b]一、Eclip...原创 2012-09-12 12:43:08 · 73 阅读 · 0 评论 -
Java 基本数据类型及运算
基本数据类型[img]http://dl.iteye.com/upload/attachment/0073/6203/37b97071-8a99-3569-b302-b9323d86ae53.jpg[/img][img]http://dl.iteye.com/upload/attachment/0073/6205/dbd51693-b043-3d38-aeef-a09eb23af2...原创 2012-09-10 22:09:32 · 86 阅读 · 0 评论 -
如何提高代码质量二 可维护性
[size=medium][b]2. 可维护性[/b] 软件的可维护性有几层意思,首先的意思就是能够适应软件在部署和使用中的各种情况。从这个角度上来说,它对我们的软件提出的要求就是不能将代码写死。 [b]1)代码不能写死[/b] 我曾经见我的同事将系统要读取的一个日志文件指定在C盘的一个固定目录下,如果系统部署时没有这个目录以及这个文件就会出错。如果他将这个决定路径下的目录改为相...原创 2012-11-11 14:21:26 · 251 阅读 · 0 评论 -
如何提高代码质量三 可变更性
[size=medium][b]c. 适配器模式[/b] 我的笔记本是港货,它的插头与我们常用的插座不一样,所有我出差的时候我必须带一个适配器,才能使用不同地方的插座。这是一个对适配器模式最经典的描述。当我们设计的系统要与其它系统交互,或者我们设计的模块要与其它模块交互时,这种交互可能是调用一个接口,或者交换一段数据,接受方常常因发送方对协议的变更而频繁变更。这种变更,可能是接受方来源的...原创 2012-11-11 14:21:35 · 270 阅读 · 0 评论 -
Java API Design Guidelines
ref:[url]http://www.artima.com/weblogs/viewpost.jsp?thread=142428[/url][size=medium]Java API Design Guidelinesby Eamonn McManusDecember 28, 2005SummaryThere are tons of books and artic...原创 2012-11-14 20:00:18 · 150 阅读 · 0 评论 -
位运算
[size=medium][b]一、位运算符C语言提供了六种位运算符:[/b]& 按位与| 按位或^ 按位异或~ 取反> 右移[b]1. 按位与运算 [/b]按位与运算符"&"是双目运算符。其功能是参与运算的两数各对应的二进位相与。只有对应的两个二进位均为1时,结果位才为1 ,否则为0。参与运算的数以补码方式出现。例如:9&5可写算式如下: 0000...原创 2012-11-15 10:48:41 · 107 阅读 · 0 评论 -
代码的味道
[size=medium]什么时候需要Refactoring? 代码的味道是高水平程序员对“好程序“的一种感觉,他们具备一种能力,即使不涉及程序代码的具体实现就能看出你的设计是否合理。 如果代码有“异味“,那么你需要进行Refactorying. 1.重复代码(Duplicate Code) 即使是一两句代码的重复也需要refactoring,有时候重复不是那么明显,你需要...原创 2012-11-17 18:50:42 · 101 阅读 · 0 评论 -
Java 反射例子
Java语言允许通过程序化的方式间接对Class进行操作,Class文件由类装载器装载后,在JVM中将形成一份描述Class结构的元信息对象,通过该元信息对象可以获知Class的结构信息:如构造函数、属性和方法等。Java允许用户借由这个Class相关的元信息对象间接调用Class对象的功能,这就为使用程序化方式操作Class对象开辟了途径。 [code="java"]public c...原创 2012-08-28 18:04:27 · 82 阅读 · 0 评论 -
Java 泛型学习
[b]Java泛型由来的动机[/b]理解Java泛型最简单的方法是把它看成一种便捷语法,能节省你某些Java类型转换(casting)上的操作:[code="java"]List box = ...;Apple apple = box.get(0);[/code]上面的代码自身已表达的很清楚:box是一个装有Apple对象的List。get方法返回一个Apple对象实例,这...原创 2012-09-05 13:50:29 · 88 阅读 · 0 评论 -
System.arraycopy方法的使用
[code="java"]package com.jiaozg.test;import java.util.Arrays;public class SystemArraycopyTest { /** * 从指定源数组中复制一个数组,复制从指定的位置开始, *到目标数组的指定位置结束 */ public static void ...原创 2012-09-09 22:08:35 · 163 阅读 · 0 评论 -
Java 进制转换
10进制转16进制 10转2进制[code="java"]package com.jiaozg.test;import junit.framework.TestCase;public class Hex extends TestCase{ public void testPositiveIntToHex() { //如果正数小于15时,...原创 2012-09-10 16:03:39 · 422 阅读 · 0 评论 -
如何提高代码质量一 可读性
[size=medium][b]高质量代码的三要素[/b] 我们评价高质量代码有三要素:[color=blue]可读性、可维护性、可变更性[/color]。我们的代码要一个都不能少地达到了这三要素的要求才能算高质量的代码。 [b] 1. 可读性强[/b] 一提到可读性似乎有一些老生常谈的味道,但令人沮丧的是,虽然大家一而再,再而三地强调可读性,但我们的代码在可读性方面依然做得非...原创 2012-11-11 14:21:16 · 231 阅读 · 0 评论