随笔
倒不了的塔
这个作者很懒,什么都没留下…
展开
-
关于文件的读写操作
package io;import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.DataInputStream;import java.io.DataOutputStream;import java.io.FileInputStream;import java.io.Fi原创 2015-01-05 16:01:00 · 364 阅读 · 0 评论 -
8张图理解Java
转载地址:http://www.importnew.com/11725.html1、字符串不变性下面这张图展示了这段代码做了什么12String s = "abcd";s = s.concat("ef");转载 2015-03-27 13:43:02 · 316 阅读 · 0 评论 -
HashMap
要知道hashmap是什么,首先要搞清楚它的数据结构,在java编程语言中,最基本的结构就是两种,一个是数组,另外一个是模拟指针(引用),所有的数据结构都可以用这两个基本结构来构造的,hashmap也不例外。Hashmap实际上是一个数组和链表的结合体(在数据结构中,一般称之为“链表散列“) 当我们往hashmap中put元素的时候,先根据key的hash值得到这个元素在数组中的原创 2015-03-31 15:58:09 · 325 阅读 · 0 评论 -
修改xml中某节点的值
如果是简单或者标准格式的xml,可以使用xstream,之前映射成一个对象然后去修改操作,很简单。但是如果是负杂的,而且有可能xml的节点内容不一样,该怎么做呢?一下是我的一种解决方法,当然可以利用其他的jar包如dom4j等,应该更简单一些StringReader sr = new StringReader(strXml); InputSource is = new Inp原创 2015-04-23 13:33:22 · 6482 阅读 · 0 评论 -
你真的懂吗
你懂啥语言?java php c android你懂啥技术?sql activiti ssh mina netty thread redis mongodb mybatis hadoop hive sqoop rabbitmq websevice jboss tomcat 你会用,但是你知道原理吗?思考一下,你要让自己太浮躁,浮于表面,就你好象你以为什么都知道,其实你什么都不懂原创 2015-11-03 19:17:05 · 461 阅读 · 0 评论 -
一直在用的HashMap
1.接受null键值2.非Synchronized3.存储键值对4.长度为2得倍数 /** * Associates the specified value with the specified key in this map. * If the map previously contained a mapping for the key, the old原创 2015-11-16 13:14:25 · 419 阅读 · 0 评论 -
获取maven项目的所以jar
mvn dependency:copy-dependencies 添加参数:-DoutputDirectory=lib 放在根目录下lib文件夹中添加参数:-DincludeScope=compile 只copy编译级别的jar原创 2015-12-31 10:31:05 · 313 阅读 · 0 评论 -
获取项目路径
获取项目地址request.getSession().getServletContext().getRealPath("/");获取tomcat的webapps地址System.getProperty("user.dir").replace("bin", "webapps");获取项目的classpath地址方法一:Thread.currentThread(原创 2016-01-05 18:03:52 · 324 阅读 · 0 评论 -
关于log4j的一些配置
常见的配置# Root logger optionlog4j.rootLogger=INFO, stdout, file# Redirect log messages to consolelog4j.appender.stdout=org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.Target=System.outlog4j原创 2016-01-29 15:08:44 · 508 阅读 · 0 评论 -
fianl static
final 在Java中声明属性、方法和类时,可使用关键字final来修饰。 final变量即为常量,只能赋值一次; final方法不能被子类重写; final类不能被继承。1. final变量 声明 final 字段有助于优化器作出更好的优化决定,因为如果编译器知道字段的值不会更改,那么它能安全地在寄存器中原创 2014-12-22 15:57:38 · 519 阅读 · 0 评论 -
try - finally执行先后?
有这样的一段代码:public static void main(String[] args) { System.out.println("t="+test()); } private static int test() { int x = 1; try { return x; } fina原创 2014-12-03 10:49:27 · 350 阅读 · 0 评论 -
switch语句能否作用在byte上,能否作用在long上,能否作用在String上?
在switch(expr1)中,expr1只能是一个整数表达式或者枚举常量(更大字体),整数表达式可以是int基本类型或Integer包装类型,由于,byte,short,char都可以隐含转换为int,所以,这些类型以及这些类型的包装类型也是可以的。显然,long和String类型都不符合switch的语法规定,并且不能被隐式转换成int类型,所以,它们不能作用于swtich语句中。此外枚举原创 2014-12-03 08:57:31 · 3977 阅读 · 1 评论 -
JSP和Servlet
JSP是Servlet技术的扩展,本质上是Servlet的简易方式,更强调应用的外表表达。JSP编译后是"类servlet"。Servlet和JSP最主要的不同点在于,Servlet的应用逻辑是在Java文件中,并且完全从表示层中的HTML里分离开来。而JSP的情况是Java和HTML可以组合成一个扩展名为.jsp的文件。JSP侧重于视图,Servlet主要用于控制逻辑。原创 2014-12-03 15:10:14 · 279 阅读 · 0 评论 -
Java中equals和==的区别
java中的数据类型,可分为两类: 1.基本数据类型,也称原始数据类型。byte,short,char,int,long,float,double,boolean,比较的是他们的值。 2.复合数据类型(类) 当他们用(==)进行比较的时候,比较的是他们在内存中的存放地址,所以,除非是同一个new出来的对象,他们的比较后的结果为true,否则比较后结果为false。 JAVA当中所有原创 2014-12-02 16:35:32 · 296 阅读 · 0 评论 -
&和&&的区别
&和&&都可以用作逻辑与的运算符,表示逻辑与(and),当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有一方为false,则结果为false。 &&还具有短路的功能,即如果第一个表达式为false,则不再计算第二个表达式,例如,对于if(str != null && !str.equals(“”))表达式,当str为null时,后面的表达式不会执行原创 2014-12-03 08:51:50 · 293 阅读 · 0 评论 -
StringBuffer与StringBuilder的区别
StringBuffer和StringBuilder类都表示内容可以被修改的字符串,StringBuilder是线程不安全的,运行效率高,如果一个字符串变量是在方法里面定义,这种情况只可能有一个线程访问它,不存在不安全的因素了,则用StringBuilder。如果要在类里面定义成员变量,并且这个类的实例对象会在多线程环境下使用,那么最好用StringBuffer。原创 2014-12-03 10:30:06 · 301 阅读 · 0 评论 -
java string 创建对象
String s = "a" + "b" + "c" + "d";这条语句一共创建了多少个对象?验证:String s = "a" + "b" + "c" + "d";System.out.println(s == "abcd");最终打印的结果应该为true。结论:代码被编译器在编译时优化后,相当于直接定义了一个”abcd”的字符串,所以,上面的代码应该只创建了一个S原创 2014-12-03 10:38:50 · 344 阅读 · 0 评论 -
Collection 和 Collections
java.util.Collection 是一个集合接口。它提供了对集合对象进行基本操作的通用接口方法。Collection接口在Java 类库中有很多具体的实现。Collection接口的意义是为各种具体的集合提供了最大化的统一操作方式。 Collection ├List │├LinkedList │├ArrayList │└Vector │ └S原创 2014-12-03 13:59:15 · 401 阅读 · 0 评论 -
heap和stack
java的内存分为两类,一类是栈内存,一类是堆内存。栈内存是指程序进入一个方法时,会为这个方法单独分配一块私属存储空间,用于存储这个方法内部的局部变量,当这个方法结束时,分配给这个方法的栈会释放,这个栈中的变量也将随之释放。 堆是与栈作用不同的内存,一般用于存放不放在当前方法栈中的那些数据,例如,使用new创建的对象都放在堆里,所以,它不会随方法的结束而消失。方法中的局部变量使用fi原创 2014-12-03 14:26:45 · 294 阅读 · 0 评论 -
使用final关键字修饰一个变量时,是引用不能变,还是引用的对象不能变?
使用final关键字修饰一个变量时,是指引用变量不能变,引用变量所指向的对象中的内容还是可以改变的。例如,对于如下语句: Final StringBuffer a=newStringBuffer("123");执行如下语句将报告编译期错误: a=newStringBuffer("");但是,执行如下语句则可以通过编译: a.append(" broke原创 2014-12-03 09:21:06 · 336 阅读 · 0 评论 -
java的一些缓存机制
public static void main(String[] args) { /** * Javadoc 详细的说明这个类是用来实现缓存支持,并支持 -128 到 127 之间的自动装箱过程。最大值 127 可以通过 JVM 的启动参数 * -XX:AutoBoxCacheMax=size 修改。 */ Integer a = 10; //this is autob原创 2016-04-05 09:25:47 · 2984 阅读 · 0 评论