java基础
Uno2
这个作者很懒,什么都没留下…
展开
-
Json在java中的使用
1、json的基本知识JSON: JavaScript Object Notation(JavaScript 对象表示法)JSON 是存储和交换文本信息的语法。类似 XML。JSON 比 XML 更小、更快,更易解析。2. 无需解析器,JavaScript 程序能够使用内建的 eval() 函数,用 JSON 数据来生成原生的 JavaScript 对象。3. 数据类型(6原创 2016-04-29 09:40:28 · 866 阅读 · 0 评论 -
java从指定路径获取指定文件
package com.jb.f1.scd.tool;import java.io.File;import java.util.ArrayList;import java.util.List;public class Tools { public static String SUFFIX = ".scd"; public static void getFiles(){ }原创 2016-05-23 10:28:19 · 946 阅读 · 0 评论 -
java文件下载
java中文件上传和下载是比较常用的功能,今天在项目中也有用的,就整理下拿出来分享下1、逻辑将文件流写入到response的流中,设置response的setContentType和addHeader为流下载即可2、代码@RequestMapping("FileDownLoad.do") @ResponseBody public void FileDownLoad(HttpSe原创 2016-09-07 10:11:15 · 563 阅读 · 0 评论 -
java中StringBuilder清空效率比较
都知道如果多个字符串拼接的话,用StringBuilder.append会比str+=""效率高很多因为不用创建string对象和数组拷贝,在jdk1.5中测试了3中方法清空builderpackage com.jb.efile.model;import java.io.IOException;public class Test { private static long t原创 2016-10-13 10:43:24 · 11197 阅读 · 8 评论 -
jdk 1.5时获取当前时间错误
最近维护一个老项目,使用的是jdk1.5,在获取当前时间的时候,发现时间和正常时间差8小时,(jdk1.6以后就没有这个问题了)于是就怀疑是时区的问题于是打印下:Calendar c = Calendar.getInstance(Locale.CHINA);System.out.println(c.getTimeZone());发现输出的时区是:sun.util.cal原创 2016-09-28 09:47:01 · 1203 阅读 · 0 评论 -
java实现ftp文件上传
package com.jb.efile.service.impl;import java.io.File;import java.io.FileInputStream;import java.io.IOException;import org.apache.commons.net.ftp.FTPClient;import org.apache.commons.net.ftp.FTP原创 2016-09-29 14:44:36 · 702 阅读 · 0 评论 -
java函数定义泛型
在写通用方法时,常常会用到泛型1、定义泛型类public class BHTZ {private T t;}2、定义泛型方法protected void writeDatasToFile(File file, List datas){//其中第一个表示需要的泛型参数是继承BaseInfo的类//第二个List 表示是前面参数类的集合//该函数无返回值原创 2016-10-16 13:20:40 · 819 阅读 · 0 评论 -
java读取properties中文乱码
2中方法:第一种是:修改properties文件中的中文,用jdk自带的native2ascii.exe转换为新的properties文件,然后加载userName=admin#北京\u5317\u4eaccurProvince=\u5317\u4eacext=.cimemark=cimpath=D://version=V1.0#一体化整定计算syste原创 2016-10-08 11:33:51 · 898 阅读 · 0 评论 -
java加载并遍历properties文件
package com.jb.efile.util;import java.io.IOException;import java.io.InputStream;import java.io.UnsupportedEncodingException;import java.util.HashMap;import java.util.Iterator;import java.util.M原创 2016-10-08 13:24:38 · 471 阅读 · 0 评论 -
java使用通道读取文件
java中读写文件的方式有很多1、使用byte,按照字节读取2、使用character,按照字符读取3、使用reader,按照行读取4、使用buffer,缓存读取5、使用channel,通道读取而比较上面几种方法:效率也是依次高效这里之说按照通道读取方法:package com.uno.file;import java.io.FileInputStream;i原创 2016-10-08 17:33:08 · 685 阅读 · 0 评论 -
java中自定义注解并通过反射获取注解属性值
直接上代码,注释中有说明:1、定义自定义注解类(类注解和字段注解):package com.uno.ray;import java.lang.annotation.Documented;import java.lang.annotation.ElementType;import java.lang.annotation.Inherited;import java.lang.a原创 2016-12-03 10:38:58 · 24090 阅读 · 1 评论 -
java 中无break的switch
前几天在面试中遇到了这么个题目:public static void main(String[] args) { test(); } private static void test() { int result = 0, i = 2; switch (i) { case 1: result = result + i*2; case 2: result =原创 2017-10-30 23:43:57 · 883 阅读 · 0 评论 -
java 判断字符串是否包含汉字的方法
方法1:利用汉字的Unicode编码范围public static void main(String[] args) throws UnsupportedEncodingException { int count = 0; String regEx = "[\\u4e00-\\u9fa5]"; String str = "中文fdas原创 2017-10-15 15:11:45 · 3802 阅读 · 0 评论 -
java 静态初始化集合
protected static final Set RESULT_TRUE = new HashSet(){{ add("正常"); add("是"); add("有"); }};或者protected static final Set RESULT_TRUE = new HashSet();RESULT_TRUE.add(“正常”);RESULT_TRUE.add(“有”原创 2017-10-15 15:13:59 · 4961 阅读 · 0 评论 -
Java使用线程池和线程工厂
package com.uno.thread;import java.util.ArrayList;import java.util.List;import java.util.concurrent.ArrayBlockingQueue;import java.util.concurrent.ThreadFactory;import java.util.concurrent.Threa原创 2017-11-20 14:54:19 · 4132 阅读 · 1 评论 -
java利用反射解析xml到实体类
定义一个Handler,处理sax解析package com.jb.f1.scd.service.impl;import java.lang.reflect.Field;import java.util.LinkedList;import java.util.List;import org.xml.sax.Attributes;import org.xml.sax.SAXExce原创 2016-05-23 10:26:22 · 1910 阅读 · 0 评论 -
java通过反射得到get、set方法
public static void testRef(Class clazz) throws Exception{ T obj = clazz.newInstance(); Field[] fields = clazz.getDeclaredFields(); for(Field field : fields){ PropertyDescriptor descriptor = n原创 2016-06-08 12:49:14 · 1401 阅读 · 0 评论 -
Java中使用JUnit测试
package ray.junit;import static org.junit.Assert.*;import java.util.ArrayList;import org.junit.After;import org.junit.AfterClass;import org.junit.Before;import org.junit.BeforeClass;import or原创 2016-04-29 11:21:18 · 599 阅读 · 0 评论 -
java中多线程介绍
1.创建线程的2中方式a)Extends Thread; 编写run方法b)Implements Runnable:重写run方法2.线程的5种状态(创建、就绪、执行、阻塞、死亡)注意:阻塞状态和运行状态是不能直接达到的,需要回归到就绪状态。a)T.start(); 是线程进入就绪状态,Runnable状态b)等待cpu的调度,调度后才能进入Running运行状原创 2016-05-11 15:59:58 · 413 阅读 · 0 评论 -
Java中Try/catch/finally
Exception(extends thorowable):Error: 不可用代码避免的错误(stackoverflow, memoverflow)Exception:可以用代码避免的 runtimeexcption:在代码运行期间才能发现的错误(nullpoint, /0, indexout) 编译期间: io,filenotfound, sql…… -原创 2016-04-29 11:28:59 · 546 阅读 · 0 评论 -
Java对于表达式中的自动类型提升
1.表达式中的自动类型提升:表达式求值时,Java自动的隐含的将每个byte、short或char操作数提升为int类型,这些类型的包装类型也是可以的。例如:short s1 = 1; s1 = s1 + 1;s1+1运算中的操作数s1会被自动提升为int类型,s1+1运算结果会成为int类型,再赋值给short类型的s1时,编译器会报告需要强制转换类型的转载 2016-05-12 07:44:11 · 955 阅读 · 0 评论 -
java变量初始化
1. 对于类的成员变量,不管程序有没有显式的进行初始化,Java虚拟机都会先自动给它初始化为默认值。 默认值如下: Boolean false Char '\u0000'(null) byte (byte)0 shor转载 2016-05-12 21:53:04 · 401 阅读 · 0 评论 -
java之责任链模式
责任链模式是一种对象的行为模式。在责任链模式里,很多对象由每一个对象对其下家的引用而连接起来形成一条链。请求在这个链上传递,直到链上的某一个对象决定处理此请求。发出这个请求的客户端并不知道链上的哪一个对象最终处理这个请求,这使得系统可以在不影响客户端的情况下动态地重新组织和分配责任。举个例子:公司中的请假流程,当我们发起流程是给我们的直接经理发送请教请求,而不是给我们的董事长发。但是如原创 2016-05-02 19:42:09 · 582 阅读 · 0 评论 -
面向对象的6的原则
面试的一个问题: 聊聊面向对象6大原则1. 开闭原则( 软件实体应当对扩展开放,对修改关闭) 要做到开闭原则,就需要多使用抽象类或者接口,将相似的类进行抽象,将公有的功能引入到抽象类中,这样在进行扩展时,只需要依据抽象类,生成新的子类即可。------------------------------------------------------------------原创 2016-03-17 14:47:45 · 464 阅读 · 0 评论 -
java <T> <E> <?>
一般使用来声明类型持有者名称,自定义泛型类时,类持有者名称可以使用T(Type) 如果是容器的元素可以使用E(Element),若键值匹配可以用K(Key)和V(Value)等, 若是,则是默认是允许Object及其下的子类,也就是java的所有对象了。原创 2016-03-15 23:21:10 · 825 阅读 · 0 评论 -
HTTP、TCP、UDP、Socket
1. 首先说下网络5层协议:应用层、传输层、网络层、数据链路层、物理层。2. Http: 属于应用层协议,封装对数据的描述请求行:get/post消息包头:包括客户端的一些信息(浏览器一些信息、user-agent……消息正文:请求参数HTTP允许传输任意类型的数据对象。类型由Content-Type加以标记。3. TCP/UDP:属于传输层协议,描述了Http里面的数据怎原创 2016-03-15 20:48:44 · 397 阅读 · 0 评论 -
JAVA设计模式之代理模式(静态代理和动态代理)
静态代理:在运行的时候,已经有代理的class文件,造成一个代理只能代理一个对象。http://blog.csdn.net/jason0539/article/details/22974405这里面讲的静态代理浅显易懂 动态代理:代理类的字节码在程序运行时由Java反射机制动态生成,无需程序员手工编写它的源代码。http://www.cnblogs.com/jqyp/arch原创 2016-03-02 23:24:31 · 333 阅读 · 0 评论 -
java中String的内存分析
String str1="ABC"和String str2 = new String("ABC") 的区别。String str1="ABC" 可能创建一个对象或者不创建对象, 如果"ABC"这个字符串在java String池里不存在,会在java String池创建这个一个String对象("ABC").如果已经存在,str1直接reference to 这个String池里的对象。S原创 2016-04-21 01:42:45 · 526 阅读 · 0 评论 -
Java中list存放的是值还是对象的引用问题
java的集合中存放的类型 (1)如果是基本数据类型,则是value (2) 如果是复合数据类型,则是引用的地址;String b="a"; lists.add(b); b="bbb";最后输出还是a,原因是存放的不是b,而是b第一次指向的地址,修改b=”bbb”后只是修改了b指向的地址。原创 2016-04-21 01:45:39 · 5647 阅读 · 1 评论 -
java中double转int
java中double转int (1)、 (int) 2.9 = 2;//不进行四舍五入 (2)、 四舍五入:new BigDecimal("1.5").setScale(0, BigDecimal.ROUND_HALF_EVEN); 其中half_even: 2.5=2; 1.5=2; (类似于银行家算法) half_up: 2.5=3, 1.5=2;原创 2016-04-21 01:49:53 · 2495 阅读 · 0 评论 -
Spring中切面的<aop:advisor pointcut="execution参数解析
都知道,其目的就是用来匹配某些方法的。以 为例讲解首先:这个表达式是分为4块的,即:方法返回类型 包 +(子包)+ 方法名 + 参数个数或者类型1、第一个 * 表示:对任意的返回类型方法进行匹配2、第二个 * 表示: 对任意的包并且包的最后是以Service结尾的包3、第三个 * 表示: 对任意的方法名进行匹配 4、第四个(..)表示: 通配,即方法中可以有0个或者原创 2016-05-18 10:56:01 · 3486 阅读 · 0 评论 -
Java静态代码块和构造方法执行顺序
package com.uno.staticBlock;import java.lang.reflect.Field;import java.util.Vector;/** * 验证静态代码块和构造代码块执行顺序 * * 1.加载父类静态代码块 * 2.加载子类静态代码块 * 3.加载父类构造代码块 * 4.父类构造方法 * 5.子类构造代码块 * 6.子类构造方法原创 2017-11-20 15:57:52 · 746 阅读 · 0 评论