
Java编写
只想发财
这个作者很懒,什么都没留下…
展开
-
Java的内存管理机制
本篇文章是自我理解,如果有错误,欢迎指出,共同学习。C++和java的内存管理机制是不同的,C++是需要自己去调配的,而java是完全自动的,有自动销毁的机制,所以对于java的代码人来说,无疑是非常的舒服的。那么进入正题,java在运行的时候,首先会先去内存,要求分出一块区域,那么这块区域就称为jvm(虚拟机)。那么在jvm下又大致分为五大区域,分别是程序计数器,本地原创 2017-08-09 09:36:01 · 280 阅读 · 0 评论 -
String类型'=='和'equlas'的区别
String和null做比较用 ==。String和字符做比较用equlas。equlas是用来比较内存地址的,而==判断null值,还没有实例化。原创 2018-02-11 11:11:45 · 1253 阅读 · 0 评论 -
String类型转int类型,Integer.valueOf与Integer.parseInt的区别。
前言String类型转int类型,最常见的方法有2种:String str = "123";try { int a = Integer.parseInt(str);} catch (NumberFormatException e) { e.printStackTrace();}String str = "123";try { int b = Integer.valu...原创 2018-02-11 11:33:24 · 1091 阅读 · 0 评论 -
合并两个类型相同的List
public static void main(String[] args){ /*测试合并两个类型相同的list*/ List<String> list1 = new ArrayList<String>(); List<String> list2 = new ArrayList<String>(); //给list1赋值 li...原创 2018-02-11 13:25:43 · 2803 阅读 · 1 评论 -
Map集合中get不存在的key值,会抛出异常吗?
public static void main(String[] args){ Map<String, String> a = new HashMap<String, String>(); String string = a.get("a111"); System.out.println(string);}在Map集合中,get一个不存在的值,不会抛出异常,...原创 2018-02-11 13:28:39 · 44726 阅读 · 2 评论 -
for循环的优化
方法1:循环多不要紧,要紧的是循环嵌套得太多,要解决这个问题,需要从根本上找原因,用更好的数据结构和算法,从根源上减少对于循环的需求方法2:将循环次数多的放在里面,循环次数少的放在外面做大循环方法3:for循环中少用if——else if判断,用switch——case,效率更高方法4:多线程并发替代单循环么,尽可能利用CPUfor(int i = 0; i < 100; ++i) { ...转载 2017-09-26 09:42:15 · 5700 阅读 · 0 评论 -
switch...case 和 if...else效率比较和优化
switch...case写法:switch (表达式){ case 值1 : 语句1 break; case 值2 : 语句2 break; ... default : 语句n break; }if...else写法:if(boolean){}else if(boolean){}else if(boolean){}else{}由此看来,switch有点以空间换时间的意思...转载 2018-02-11 15:29:32 · 13998 阅读 · 1 评论 -
for循环的运行流程
for(①;②;③){主体}for(初始条件;条件判断;条件改变){主体} 1、初始化① 2、运行②布尔值判断。 3、true进入主体,false循环结束。 4、如果进入主体,那么就③,条件改变。 5、重复2, 6、条件不满足,退出循环。以下案例,for循环中,不只基本类型,还可以是函数。注意:在条件改变的情况下,如果使用方法,那么一定要赋值给变量。public class aaa{publi...原创 2018-02-11 14:14:24 · 1030 阅读 · 0 评论 -
Java对List集合中的元素进行排序
前言可以进行String,Date,Integer等类型进行排序,这里以数值类型为例子。创建Bean类package www.itxm.net; public class Person { private String id; private String name; private int age; public Person(String id,...原创 2018-03-27 20:36:45 · 2366 阅读 · 0 评论 -
FOR循环里Continue,Break,Return的作用
前言 最近在项目中,碰到有多层FOR循环,需要各种不同的情况下,跳出循环。今天特地花个时间来总结下。在多层FOR循环里使用Continue,Break,Return的不同效果是什么?Continue在循环中,关键词Continue,效果是跳过本次循环进行下一次循环。实例如下:for (int i = 0; i < 4; i++ ) { System.out.println(...原创 2018-04-17 21:31:42 · 20234 阅读 · 0 评论 -
存储过程 IF包含字段判断
CREATE OR REPLACE FUNCTION F_C_GETRES(RES IN VARCHAR2, M_MO_NUMBER IN VARCHAR2, M_EMP IN VARCHAR2)RETURN VARCHARISL_RES VARCHAR (4000);BEGINIF INSTR(RES,'OK')>0 THEN L_RES:=RES||'##1&...原创 2018-04-15 21:01:15 · 3423 阅读 · 0 评论 -
线程安全和线程不安全
前言 线程安全,是当多线程访问时,采用了加锁机制,当一个线程访问该类的某个数据时,进行保护,其他线程不能进行访问直到该线程读取完,其他线程才可使用。不会出现数据不一致或者数据污染。 线程不安全,是不提供数据访问保护,有可能出现多个线程先后更改数据造成所得到的数据是脏数据。运用 如果你的代码所在的进程中有多个线程在同时运行,而这些线程可能会同时运行这段代码,如果每次运行结果和单线程...原创 2018-05-21 16:03:07 · 1626 阅读 · 0 评论 -
数值E
前言 在使用input标签的时候,使用了number类型,如下。<input type="number" name="">惊奇的发现可以加入e,很好奇,明明只能输入数字number,为什么可以输入字母e?结果 e也算是数值类型,是以10为底数的用法。 比如 12E-1 =》12*10 的-1次方。...原创 2018-05-24 08:18:17 · 1210 阅读 · 0 评论 -
Java各种对象(PO,BO,VO,DTO,POJO,DAO,Entity,JavaBean,JavaBeans)的区分
PO:持久对象 (persistent object),po(persistent object)就是在Object/Relation Mapping框架中的Entity,po的每个属性基本上都对应数据库表里面的某个字段。完全是一个符合Java Bean规范的纯Java对象,没有增加别的属性和方法。持久对象是由insert数据库创建,由数据库delete删除的。基本上持久对象生命周期和数据库密切相...转载 2018-10-05 16:00:12 · 285 阅读 · 0 评论 -
WebRoot META-INF WEB-INF 区别
/WEB-INF/web.xmlWeb应用程序配置文件,描述了 servlet 和其他的应用组件配置及命名规则。 /WEB-INF/classes/包含了站点所有用的 class 文件,包括 servlet class 和非servlet class,他们不能包含在 .jar文件中。 /WEB-INF/lib/存放web应用需要的各种JAR文件,放置仅在这个应用中要求使用的jar文件...转载 2018-10-05 21:38:12 · 1324 阅读 · 0 评论 -
StringBuffer 和StringBuilder的应用场景
StringBuffer线程安全,StringBuilder线程不安全。 StringBuffer比StringBuilder慢。网络上有很多的文章有说到他们两个的区别,以及应用场景,这里说下个人感悟。StringBuffer更多会和修改全局变量和静态变量连用,这样可以保证线程的安全。而如果是局部变量,则可以使用StringBuilder,每次局部都会产生一个新的变量,不存在线程...原创 2018-11-01 23:12:12 · 1690 阅读 · 0 评论 -
JAVA初识之玩转while 与for循环
JAVA初识while循环1.写法while(判断条件){ 循环体}1232.执行规则当判断条件中德内容成立时,才会执行循环体中德语句,当判断条件不成立时,会立刻停止执行循环体,循环结束13.明确循环顺序判断条件 --成立-->循环体---->判断条件--成立-->循环体---->判断条件--不成立-->循环结束1举例:打印1-100的转载 2017-12-31 00:54:10 · 232 阅读 · 0 评论 -
递归的概念和例题。
###16递归概念和注意事项 * A:递归概念和注意事项 * a: 递归概念 * 递归,指在当前方法内调用自己的这种现象 * 递归分为两种,直接递归和间接递归 * 直接递归称为方法自身调用自己。间接递归可以A方法调用B方法,B方法调用C方法,C方法调用A方法 * b: 注意事项 * 递归一定要有出口, 必须可以让程序停下 * 递归次数不能过多 * 构造原创 2017-12-23 16:00:17 · 762 阅读 · 0 评论 -
Java数字字面量加下划线
从java7开始可以为数字加下划线,这些下划线可以让人更易读,Java编译器会去除这些下划线。int a=1_0;int b=2_0;int c=a+b;那么c输出的就是30,系统会自动除去数字中的下划线。原创 2017-08-05 14:31:56 · 1273 阅读 · 0 评论 -
Java常量的定义
public static final String a;其中String类型可以任意修改成基本函数;原创 2017-08-05 16:08:21 · 478 阅读 · 0 评论 -
Java自增运算符和自减运算符,在变量前和变量后的区别。
如果自增运算符(++)在赋值的时候,自增运算符(++)放在前,是先自增,用自增的数来赋值。自增运算符(++)放在后,是先用原先的值来赋值,然后在自增。自减运算符(--)同理。int a=1;int b=a++;//a is 2, b is 1int c=++a;//a is 2, b is 2原创 2017-08-05 16:32:32 · 2706 阅读 · 0 评论 -
Java的三元运算符
x 在三元运算符中 , 通过x < y 的返回布尔值,来决定输出什么。如果返回的是true,那么就输出1,如果返回的是false。那么就输出2.原创 2017-08-05 16:49:54 · 422 阅读 · 0 评论 -
Java的位移运算符
int a = 4;a=a<<1 // 4*2的1次方a=a<<2 // 4*2的2次方>> : 右移运算符,num >> 1,相当于num除以2int b = 4;b=b>>1 // 4除以2的1次方b=b>>2 // 4除以2的2次方原创 2017-08-05 17:18:11 · 280 阅读 · 0 评论 -
Java中的导包
在Java中经常有输出语句public class test2 { public static void main(String[] args) { System.out.println(1); }}但是如果有导包,那么就不用写System.import static java.lang.System.*;public class test2 {原创 2017-08-05 17:53:16 · 3733 阅读 · 0 评论 -
验证日期满足 yyyy-MM-dd
String str="201-01-01"; DateFormat formata=new SimpleDateFormat("yyyy-MM-dd"); Date date=formata.parse(str); if(str.equals(formata.format(date))){ System.out.println(1); }else{原创 2017-09-30 11:14:14 · 787 阅读 · 0 评论 -
String切割的方法。
String s=lioos;char a[]=s.toCharArray();其中是把S字符串,切割成数组。而split(参数),是通过某一固定参数,来分割字符串。返回一个数组。String s=1#2#3#char a[]=s.split("#");原创 2017-09-22 17:21:41 · 1529 阅读 · 0 评论 -
Java成员变量的定义。
今天再看老员工的代码的时候,看到一个新奇的chengyuan原创 2017-10-27 10:43:43 · 3336 阅读 · 0 评论 -
Integer.valueOf(String) 方法之惑
有个仁兄在 StackOverflow 上发起了一个问题,是这么问的:“ 我被下面的代码搞晕了,为什么它们会返回不同的值?”123System.out.println(Integer.valueOf("127")==Integer.valueOf("127"));System.out.println(Integer转载 2017-10-27 17:35:50 · 1923 阅读 · 0 评论 -
Integer.parseInt("") Integer.valueOf("")和new Integer("")之间的区别
把一个String转换成int有Integer.parseInt("")、 Integer.valueOf("")和new Integer("")这么几种方式,它们之间有什么区别呢?我们可以分别看一下它们的源码//Integer.parseInt("")public static int parseInt(String s) throws NumberFormatException {转载 2017-10-27 17:51:45 · 255 阅读 · 0 评论 -
Junit的使用
前言今天学习了Jinit的使用方法,说是Eclipse提供的最小单元的测试方法,只要在方法左上角添加@test ,之后add下包,就可以运行了。没有做过多的了解,后续在补充。原创 2017-11-28 16:03:58 · 215 阅读 · 0 评论 -
System.currentTimeMillis()
System.currentTimeMillis()就是获取当前时间的毫秒值,可以用来当作随机数,订单号,不会重复后期补充。原创 2017-11-06 11:03:15 · 1295 阅读 · 0 评论 -
FastJson的使用
今天学习了FastJson,记录下 ,避免以后忘记。fastjson只有一个jar包,我用的是:fastjson-1.2.8.jar。简单对象转换List对象的转换这里需要说明的是,转成的json是一个数组List禁止循环的引用在list对象中,如果加入了2个相同的对象,会进行循环引用。如果不禁止循环引用,那么到页面的数据将会变成ref那个不能解析的原创 2017-10-13 10:44:31 · 744 阅读 · 0 评论 -
BeanUtils工具的使用
前言这里主要是说明,BeanUtils这个jar包的使用,一般是在前端框架里才会使用,获取request发的数据MAP,映射的Bean里。编码需要导入工具包。包的名字是commons-beanutils-1.8.3.jar;protected void doGet(HttpServletRequest request, HttpServletResponse res原创 2017-11-30 15:43:37 · 275 阅读 · 0 评论 -
EXCEL解析思路
作为一名Java程序员更多是对table表格的操作,其中对于excel的导入导出操作,可以算的上操作比较频繁的了。对于excel的解析,我选择使用了poi作为apache的一个项目来说,还是很有公信力的。刚开始使用poi解析excel时,我是根据excel文档的不同,而修改解析方式,把逻辑加入到了解析当中,这里不正确的做法,无形当中给解析的性能带来极大的负担。之后,我转换思路,做一个e...原创 2018-11-27 10:00:02 · 555 阅读 · 1 评论