
----------JavaSE----------
文章平均质量分 57
小9
优秀是一种习惯
展开
-
常见算法之二分查找
<br />public class ArraySort{//........这里省略了很多代码,请参考hi.baidu.com/alex_bw/blog/item/b817682041ec5348ac34de67.html中所示范的排序private static int binarySearch0(int[] a, int fromIndex, int toIndex, int key){ int low = fromIndex; int high = to原创 2010-10-14 23:26:00 · 596 阅读 · 0 评论 -
Swing-JFrame入门
JFrame简单示例转载 2015-06-27 08:59:19 · 2822 阅读 · 1 评论 -
Java性能优化:垃圾回收(GC)
JVM的内存 垃圾回收转载 2015-06-30 09:11:29 · 1080 阅读 · 0 评论 -
深度解析Java内存的原型
本文主要通过分析Java内存分配的栈、堆以以及常量池详细的讲解了其的工作原理。一、Java虚拟机内存原型寄存器:我们在程序中无法控制栈:存放基本类型的数据和对象的引用,但对象本身不存放在栈中,而是存放在堆中堆:存放用new产生的数据静态域:存放在对象中用static定义的静态成员常量池:存放常量非RAM存储:硬盘等永久存储空间。二、常量池(constant pool)转载 2013-07-20 15:04:07 · 867 阅读 · 0 评论 -
Java编程中“为了性能”尽量要做到的一些地方
下面是参考网络资源总结的一些在Java编程中尽可能要做到的一些地方。 1. 尽量在合适的场合使用单例 使用单例可以减轻加载的负担,缩短加载的时间,提高加载的效率,但并不是所有地方都适用于单例,简单来说,单例主要适用于以下三个方面:第一,控制资源的使用,通过线程同步来控制资源的并发访问;第二,控制实例的产生,以达到节约资源的目的;第三,控制数据共享,在不建立直接关联的条件转载 2013-07-20 14:59:29 · 641 阅读 · 0 评论 -
NIO-文件读取及按行读取示例
读取字符文件时,如果中途我们想输出字符串要特别小心。下面的代码在输出文本内容时,很可能产生中文读取再输出的乱码:private static void byteBuffer() throws IOException { RandomAccessFile randomAccessFile = new RandomAccessFile("/Users/zhengwei/lanqiao/Conditi原创 2017-08-14 16:24:59 · 7994 阅读 · 1 评论 -
NIO读写文件示例
NIO读写文件示例原创 2017-08-15 21:45:41 · 473 阅读 · 0 评论 -
NIO拷贝文件示例
使用NIO中Channel的transferFrom方法可以拷贝文件内容。mark!原创 2017-08-15 22:09:20 · 317 阅读 · 0 评论 -
MySql的Blob插入(JDBC)
BLOB数据类型MySQL的四种BLOB类型 类型 大小(单位:字节) TinyBlob 最大 255 Blob 最大 65K MediumBlob 最大 16M LongBlob 最大 4G我们可能直觉使用BLOB,但是它最大65k,如果插入的文件大于65k将得到这样的错误Data too long for column...JDBC其他代码略。主要是构建原创 2017-08-26 11:44:56 · 924 阅读 · 0 评论 -
ClassLoader与Tomcat的ClassLoader
基本概念ClassLoaderClassLoad:类加载器(class loader)用来加载 Java 类到 Java 虚拟机中。Java 源程序(.java 文件)在经过 Java 编译器编译之后就被转换成 Java 字节代码(.class 文件)。类加载器负责读取 Java 字节代码,并转换成 java.lang.Class 类的一个实例。双亲委派机制什么时候需要加载类?java虚拟机规范虽然原创 2017-08-24 23:56:27 · 2376 阅读 · 0 评论 -
了解CMS(Concurrent Mark-Sweep)垃圾回收器
1.总体介绍:CMS(Concurrent Mark-Sweep)是以牺牲吞吐量为代价来获得最短回收停顿时间的垃圾回收器。对于要求服务器响应速度的应用上,这种垃圾回收器非常适合。在启动JVM参数加上-XX:+UseConcMarkSweepGC ,这个参数表示对于老年代的回收采用CMS。CMS采用的基础算法是:标记—清除。2.CMS过程:初始标记(STW initial mar转载 2013-07-20 14:51:10 · 789 阅读 · 0 评论 -
CLH锁的机制与实现
了解CLH的机制并简单实现,为学习AbstractQueuedSynchronizer打下基础。我们大致了解AQS是jdk实现各种内置同步器(ReentrantLock、CountDownLatch、Semaphore、CyclicBarrier)的基础,也是我们想要自定义同步器需要借助的工具,也知道AQS的内部实现机制是CLH锁。现在我们就先了解了解CLH的机制和简单实现。原创 2017-10-01 13:33:00 · 704 阅读 · 0 评论 -
阿里巴巴Java开发手册重点解读(一)
编程规约-OOP规约-8【强制】关于基本数据类型与包装数据类型的使用标准如下: 1) 所有的 POJO 类属性必须使用包装数据类型。 2) RPC 方法的返回值和参数必须使用包装数据类型。 3) 所有的局部变量【推荐】 使用基本数据类型。 这些类型的对象常作为查询对象或者结果对象,基本数据类型的默认值都是0,而引用类型的默认值为null。在拼接sql时或者显示结果时,null有明确的含义,原创 2017-10-01 18:46:34 · 2052 阅读 · 0 评论 -
阿里巴巴Java开发手册重点解读(二)深拷贝
这次我们介绍下bean的深度拷贝。原创 2017-10-02 12:19:36 · 714 阅读 · 0 评论 -
字符串对象都来自于字符串池吗?
了解字符串对象在池中产生和在堆上产生的情景,搞清楚迷惑我们的一些比较;了解intern方法的含义!原创 2010-10-16 16:12:00 · 2349 阅读 · 14 评论 -
关于重写toString方法
关于重写toString转载 2015-06-27 20:16:25 · 9651 阅读 · 0 评论 -
java实现链表简单示例
Java实现双向链表原创 2015-06-27 14:14:17 · 1612 阅读 · 0 评论 -
三元运算表达式的类型
int i=99;System.out.println(true?'a':99999);//99999超出字符范围,表达式的类型确定为int System.out.println(true?'a':99);//99可以认为是字符常量,表达式的类型确定为char System.out.println(true?'a':i);//i的类型明确定义为int,表达式的类型只能确定为int打印结果:97a97(exp1)?exp2:exp3编译器判定表达式的类型与exp1无关exp2:exp3类型一样,没有啥好说ex原创 2010-10-14 23:28:00 · 1495 阅读 · 0 评论 -
学会java、学好java之一:先决条件
<br />其实这篇文章是谈学习方法,只是以java为例罢了,有心人可以将我谈到的观点应用得更为广泛。<br />首先,你适合学习这门技术吗?很多人不知道。那是因为你不了解目标对象,也不了解自己。所以首先我设计了几个问题,你需要问自己:<br />1、我是否有较强的逻辑思维能力?这种能力可以从数学、物理、化学、计算机等相关专业的高中、大学课程中获得。我之所以把这个问题摆在第一,因为逻辑思维对编程实在是太重要了。这个概念比较抽象,但绝不能说你看过福尔摩斯、狄仁杰,你就知道逻辑推理是怎么回事,更不能说你念过上述原创 2010-10-14 23:32:00 · 979 阅读 · 0 评论 -
学会java、学好java之二:学习方法
<br />1、阅读(听课)=>笔记=>实践=>反思:<br /> 笔记那是必须的,笔记不是抄书抄课件,而是记录思维主线。因为我们不可能一口气把所有东西学完,所以学习会在某处中断,当你接着往下学而又需要回顾前面知识的时候,如果没有笔记,恐怕就只有重来一次,这样岂不很浪费时间。<br /> 实践那是必须的。看拳谱就能打死人?总要比划两下吧。代码更是如此,不要认为看懂了就可以不写,不要认为简单的就可以不写,需知复杂的都是由简单的组成。记得大学时学太极拳,每一课的内容都比较简单,因为招式不多,比划两下原创 2010-10-14 23:33:00 · 1030 阅读 · 0 评论 -
常见排序算法_java版本
<br />整理了一下几个算法的java实现,希望大家能够喜欢:<br /> public class ArraySort{/*** 自1开始,通过交换将i插入其左端的有序的数列中。* 交换次数不确定,但比较次数较均衡。* 比冒泡更优。* @param x* 数组* @param off* 起始下标* @param len* 长度*/private static void charu(int原创 2010-10-14 23:24:00 · 1070 阅读 · 1 评论 -
一道scjp的题:垃圾回收
<br />原创 2010-10-27 21:22:00 · 906 阅读 · 2 评论 -
java不同类型对象之间的拷贝
场景: 1.我所谓的拷贝不是克隆 2.是不同类型但是有相同属性名,属性与属性之间类型可以不同思路: 1.最容易想的就是反射,这边get,那边set,对的 2.利用commons的beanutils包,更容易处理,它有现成的第一层拷贝,我们利用一下,递归拷贝无数层 实现:注意看依赖哪些包和类哦 package com.core.uti原创 2011-06-23 11:29:00 · 5004 阅读 · 3 评论 -
java编译器对字符串+运算的优化导致的有趣现象
以前写了个字符串是否来自池的文章只说明了有的字符串来自池,有的是在堆上新建,但是没有深究,只从现象去推测了,今天我们来看看究竟发生了什么下图(源码和字节码)很清晰地看到s3实际上是新建了一个StringBuilder,然后append了def,然后再toString的,难怪会不同了 再来看下图,s1和s2定义为final之后,字节码简洁了很多,s3的值明确为abcdef且来自常量池原创 2012-04-23 20:29:28 · 1402 阅读 · 0 评论 -
“初始化”一则
package herit;public class InitDemo { int a; { b=10; } int b=20; public static void main(String[] args) { System.out.println(new InitDemo().b); }}运行结果:20我们会思考:1、第六行为什么编译可通过2、为什么原创 2012-04-23 21:57:46 · 607 阅读 · 0 评论 -
Java难关一
在Java学习的道路上,我们要面临很多的难关,有的人需要很长时间的摸索,而有的人却可以快速掌握,这是因为有的人容易悟到法门,而有的人则会迟钝一些。下面提到的这些状态,如果你从来都没有体会过,或者很快就度过了,说明你的悟到了这个环节的法门,而如果你正处於这种状态,就值得细细品味了。状态描述:程序编译老是出错,或者根本就没法编译;有时候能够写对,不知道为什么对,大多数时候会出错,却不知道为原创 2013-06-23 17:34:50 · 962 阅读 · 0 评论 -
13道Java典型的Java小程序
1.设计一个java程序,从键盘接收两个整数,找出其中的较大的数。2.设计一个java程序,从键盘接收一个字符串,反序输出。3.设计一个Java程序,判断键盘输入的一个年份是否为闰年。若是闰年打印“是”,否则打印“否”。闰年的判断方法:能被100整除的年份如能被400整除方为闰年;其它年份如能被4整除,即为闰年。4.从键盘接收两个正整数,输出其最大公约数。5.从键盘接收一个'a'-转载 2013-06-24 18:11:12 · 1118 阅读 · 0 评论 -
异常处理机制
首先理解调用栈:任何一次程序运行都是从主线程的主方法开始的,调用链路上的每一级既是下一级的调用者,又是上一级的被调用者。调用者等待被调用者的返回,方可继续执行。但是被调方法中可能抛出异常,而中断程序运行。我们可以在当前层级处理异常,也可以层层上报,直到调用栈上的某一个层级可以处理。具体来说是三种选择:1、捕获异常,在当前层级处理。2、上报给调用者,使用throws声原创 2013-06-29 00:03:13 · 680 阅读 · 0 评论 -
java日志,需要知道的几件事
如果对于commons-loging、log4j、slf4j、LogBack等都已经非常清楚了,可以忽略本文。几次解决日志冲突问题时对这几个概念的简单总结,希望对这块基础没有理解透的同学能有所帮助,当然如果对这块有更深刻理解的同学,也贡献出自己的知识和见解。一、 概念Commons-logging:apache最早提供的日志的门面接口。避免和具体的日志方案直接耦合。类似于JDBC的a转载 2013-07-16 19:43:11 · 776 阅读 · 0 评论 -
JAVA开发者应该去的20个英文网站【转】
http://www.javaalmanac.com - Java开发者年鉴一书的在线版本. 要想快速查到某种Java技巧的用法及示例代码, 这是一个不错的去处.http://www.onjava.com - O‘Reilly的Java网站. 每周都有新文章.http://java.sun.com - 官方的Java开发者网站 - 每周都有新文章发表.http://www.deve转载 2014-11-23 20:34:51 · 618 阅读 · 0 评论 -
NIO-结合Selector设计一个简易WebServer
本章我们利用NIO实现一个简易的WebServer。原创 2017-11-04 17:17:57 · 436 阅读 · 0 评论