Java基础
业务架构实验室
在程序的世界里,你永远不会成为最懂的那个人,因为你总是能从不同的人身上学习到你所不知道的知识
展开
-
java中&和&& |和||的区别
&和&&的异同点:这是一个位运算符,可以用来做位运算以及逻辑运算,比如5&3就是在进行位运算,其结果就是将5和3的二进制进行&操作,这一点和&&是不同的,因为&&只能用来进行逻辑判断而不能进行位运算,也就是说5&&3其实进行的是逻辑上的运算,其返回结果是true,是一个boolean型的变量,还有一个不同点就是当&在进行逻辑运算的时候无论前一个逻辑的结构是true还是false,后一个逻辑原创 2013-09-05 20:37:23 · 1077 阅读 · 0 评论 -
Java中String.intern函数的用途
First off, let's make sure that we all understand what java.lang.String.intern() actually does... Basically, it internalizes strings such that for any two strings, s1.intern() == s2.intern() if and转载 2014-03-30 00:35:28 · 1407 阅读 · 0 评论 -
Java中String类的知识
String类 1、String对象的初始化由于String对象特别常用,所以在对String对象进行初始化时,Java提供了一种简化的特殊语法,格式如下: String s = “abc”; s = “Java语言”;转载 2014-03-18 17:00:14 · 568 阅读 · 0 评论 -
JVM内存分配简要介绍
Java内存管理:深入Java内存区域本文引用自:深入理解Java虚拟机的第2章内容概述: 对于从事C和C++程序开发的开发人员来说,在内存管理领域,他们既是拥有最高权力的皇帝,又是从事最基础工作的劳动人民—既拥有每一个对象的“所有权”,又担负着每一个对象生命开始到终结的维护责任。 对于Java程序员来说,在虚拟机的自动内存管理机制的帮助下,不再需要转载 2014-03-30 00:33:03 · 824 阅读 · 0 评论 -
一个不细心就会犯的错误
if( x >= 2) {System.out.println("2")} eles原创 2014-05-02 22:42:11 · 810 阅读 · 0 评论 -
今天第一次发现原来enum还有这种用法
public enum MainTabType { SETTING("SETTING"), TOOL("TOOL"), ENTERTAINMENT("ENTERTAINMENT"); public final String tabId; MainTabType(String ti){ tabId = ti; }}原创 2014-07-11 14:57:29 · 676 阅读 · 0 评论 -
乱码引发的编码思考
转载请声明:http://write.blog.csdn.net/postedit乱码是软件开发中的常见问题,程序员如果对码不清楚的话经常会被各种码搞得晕头转向,我在开发一个JavaWeb项目时也遇到了一些乱码的问题,百思不得其解,最后通过阅读源码和一定的猜测,对编码和乱码问题有了一定的心得体会,故记录下来(如果只想深入了解Java中的编码相关内容的话可以直接看红字下面的部分):问题来由:原创 2015-02-08 03:08:16 · 2284 阅读 · 0 评论 -
volatile关键字
用在多线程,同步变量。 线程为了提高效率,将某成员变量(如A)拷贝了一份(如B),线程中对A的访问其实访问的是B。只在某些动作时才进行A和B的同步。因此存在A和B不一致的情况。volatile就是用来避免这种情况的。volatile告诉jvm, 它所修饰的变量不保留拷贝,直接访问主内存中的(也就是上面说的A) =========================分割线1===========转载 2015-09-21 10:35:31 · 465 阅读 · 0 评论 -
Spring2.0 xml schema功能-允许在spring配置文件中添加自己的xml schema及解析器
在很多情况下,我们需要为系统提供可配置化支持,简单的做法可以直接基于Spring的标准Bean来配置,但配置较为复杂或者需要更多丰富控制的时候,会显得非常笨拙。一般的做法会用原生态的方式去解析定义好的xml文件,然后转化为配置对象,这种方式当然可以解决所有问题,但实现起来比较繁琐,特别是是在配置非常复杂的时候,解析工作是一个不得不考虑的负担。Spring提供了可扩展Schema的支持,这是一个不错转载 2015-11-09 17:03:10 · 929 阅读 · 0 评论 -
JDK中的位操作
在看JDK某些类和方法时经常会看到这样的位操作源码,初看很费解,仔细想想才琢磨出了这样做的目的:if (n >= MAX_ID) n = MAX_ID;//MAX_ID=0x7fff else { n |= n >>> 1; n |= n >>> 2; n |= n >>> 4; n |= n >>> 8; }这个操作其实是让一个大于MAX_ID的值直接等于MAXID,而让一个小于MA原创 2015-09-24 15:52:49 · 421 阅读 · 0 评论 -
一个Demo看URL和URI的区别
DEMO来自:http://blog.sina.com.cn/s/blog_621c16b101012itu.htmlpackage com.practise.test;import java.net.MalformedURLException;import java.net.URI;import java.net.URISyntaxException;import java.net原创 2015-11-27 09:55:49 · 1569 阅读 · 0 评论 -
RandomAccessFile用法
RandomAccessFileRandomAccessFile是用来访问那些保存数据记录的文件的,你就可以用seek( )方法来访问记录,并进行读写了。这些记录的大小不必相同;但是其大小和位置必须是可知的。但是该类仅限于操作文件。RandomAccessFile不属于InputStream和OutputStream类系的。实际上,除了实现DataInput和DataOutput接转载 2016-02-15 15:32:26 · 560 阅读 · 0 评论 -
java日常技巧
1:List.class.isAssignableFrom(f.getType())2:java.beans.Introspector.getBeanInfo(Bean.class)原创 2015-09-18 14:39:12 · 809 阅读 · 0 评论 -
程序中一个接口的成功与失败定义分类
接口(函数)1:本地接口(结果分2类)--业务成功--业务失败(子结果分2类)--符合程序期望逻辑的业务失败--不符合程序期望逻辑的业务失败2:远程接口(结果分2类) --调用成功,业务成功 --调用成功,业务失败(子结果分2类) --符合程序期望逻辑的业务失败--不符合程序期望逻辑的业务失败 --调用失败 --原创 2016-04-17 15:24:50 · 1846 阅读 · 0 评论 -
Java中关于Iterator和Iteratable设计的思考
java.lang.Iterable java.util.Iterator 来自百度知道: Iterator是迭代器类,而Iterable是接口。 好多类都实现了Iterable接口,这样对象就可以调用iterator()方法。 一般都是结合着用,比如 HashMap类就实现了Iterable接口,而要访问或打印出Map中所有内容时,就可以这样: HashMap h转载 2014-03-27 20:45:33 · 2857 阅读 · 0 评论 -
服务器相关技术调研
LVSWebServiceactiveMQJMS原创 2013-12-31 14:46:39 · 777 阅读 · 0 评论 -
Java 类何时会被加载进JVM
类什么时候被加载/类加载时机:第一:生成该类对象的时候,会加载该类及该类的所有父类;第二:访问该类的静态成员的时候;第三:class.forName("类名");加载完以后JVM中就有了该类的元数据,知道这个Class的成员变量和方法等信息,当要new一个类的实例时就会根据这个Class对象去内存中开辟空间,存放该类的实例对象转载 2013-09-05 20:42:59 · 3920 阅读 · 0 评论 -
Java NIO系列教程(十二) Java NIO与IO
Java NIO系列教程(十二) Java NIO与IO原文地址:http://tutorials.jenkov.com/java-nio/nio-vs-io.html转载 2013-10-01 08:23:47 · 992 阅读 · 0 评论 -
推荐一个好网站
并发编程网:http://ifeve.com/java-concurrency-thread-directory/转载 2013-10-01 15:39:11 · 2016 阅读 · 0 评论 -
HttpClient优化
HttpClient优化最近的一个项目中需要用HttpClient请求多台远程服务器。由于接口调用有点频繁,结果出现了很多ConnectTimeoutException,于是对程序进行了优化。业务逻辑的优化和减少请求次数的优化就不说了,下面重点说说HttpClient的优化。先看看以前的代码,每次请求都会创建一个HttpClient,代码如下:转载 2013-09-22 23:02:48 · 1670 阅读 · 0 评论 -
Java String对中文长度的计算问题
Java String对中文长度的计算问题 2010-07-30 13:36:38| 分类: java |字号 订阅Java String对中文长度的计算问题今天在农行测试系统,碰到个很恶心的问题。我通过socket发到银行服务器的报文,总是后面少了几位,银行截取字符串是按照我在报文头传过去的报文总长度计算的。然后怀疑我发过去的报文长度计算不转载 2013-09-24 11:23:41 · 9507 阅读 · 1 评论 -
Java编程规范样例
/* * @(#)Blah.java 1.82 99/03/18 * * Copyright (c) 1994-1999 Sun Microsystems, Inc. * 901 San Antonio Road, Palo Alto, California, 94303, U.S.A. * All rights reserved. * * This so翻译 2013-09-25 14:20:53 · 783 阅读 · 0 评论 -
读官网的Java编程规范记录
Java编程规范文档,官网下载网址:http://www.oracle.com/technetwork/java/javase/documentation/codeconvtoc-136057.html点击打开链接.阅读记录如下(每日一读,不断更新):原创 2013-09-25 13:47:27 · 932 阅读 · 0 评论 -
Java编程细节问题
编程时候的一些细节很重要,今天在做代码时发现了一个非常容易让人忽视的问题,以Java程序为列:import java.util.*;import static java.lang.System.*;public class Main { private static long time; private static long startTime; /** * @原创 2013-09-27 18:05:37 · 947 阅读 · 0 评论 -
NIO与传统IO的区别
传统的socket IO中,需要为每个连接创建一个线程,当并发的连接数量非常巨大时,线程所占用的栈内存和CPU线程切换的开销将非常巨大。使用NIO,不再需要为每个线程创建单独的线程,可以用一个含有限数量线程的线程池,甚至一个线程来为任意数量的连接服务。由于线程数量小于连接数量,所以每个线程进行IO操作时就不能阻塞,如果阻塞的话,有些连接就得不到处理,NIO提供了这种非阻塞的能力。 小量的线转载 2013-09-28 00:20:23 · 1005 阅读 · 0 评论 -
Java中的getBytes函数的含义
public static void main(String[] args) { // TODO Auto-generated method stub try { System.out.println("我".getBytes("UTF-8").length); } catch (UnsupportedEncodingException e) { // TODO Auto-原创 2013-09-27 19:50:25 · 2840 阅读 · 0 评论 -
BufferedInputStream缓冲区的作用
缓冲的意思就是说你调用read()时,可能读取一个字节,但JAVA程序本身和文件的交互则不是这样的,在你读第一个字节的时候,JAVA程序其实从文件中已经读取了一定数量的字节(默认好像是8K),所以你在读第二个字节的时候,实际上已经不用再通过I/O从文件中读了;通过减少与文件的I/O操作(如果文件全部加载到内存中,则需要与其它操作系统进程交互,如果没有,则需通过操作系统与磁盘交互),从而提高了读转载 2013-09-28 23:38:52 · 1817 阅读 · 0 评论 -
Java设计模式之单例模式的思考
今天在设计一个游戏时,想使用设计模式中的单列模式来保存游戏的地图,但是后来突然引申出一个问题:单例模式是否会被JVM回收?当内存不足时查了一下网上的说法,比较主流的观点是单例模式会造成JVM无法回收内存的问题,但是具体是否正确还有待自己亲自测试一下所以最终还是放弃了单例模式这种设计方案。原创 2013-11-18 17:48:47 · 847 阅读 · 0 评论 -
Java一个小知识点
今天写程序,引伸一个思考题程序如下:父类:Shape(图形类)class Shape {public static int i;public setI(int i) {this.i = i;}public showI(int i) {System.out.println("i:" + i);}}2个子类,圆形和方形分别继承自图形类class Ci原创 2013-11-14 21:25:17 · 1018 阅读 · 0 评论 -
java日志组件介绍(common-logging,log4j,slf4j,logback )
common-loggingcommon-logging是apache提供的一个通用的日志接口。用户可以自由选择第三方的日志组件作为具体实现,像log4j,或者jdk自带的logging, common-logging会通过动态查找的机制,在程序运行时自动找出真正使用的日志库。当然,common-logging内部有一个Simple logger的简单实现,但是功能很弱。所以使用commo转载 2016-04-17 22:09:59 · 644 阅读 · 0 评论