![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
lycIT
这个作者很懒,什么都没留下…
展开
-
为什么Interger 1000 == Integer 1000返回为False,而Interger 100 == Integer 100会返回为True?
如果你运行如下代码:Integer a = 127, b = 127, c = 128, d = 128;System.out.println(a == b);System.out.println(c == d);输出truefalse原因是在Integer在做比较时 调用了Integer.valueOf(a)方法该方法会走一个限制判断:当大于low值,小于high时,会取一个缓存数组里面的值,否则返回新对象(== 在比较引用对象的时候会和equals一样去比较对象地址是原创 2020-09-14 16:58:48 · 351 阅读 · 0 评论 -
mysql 去重方式
DISTINCT GROUP BY(不能与ORDER BY一起使用,细节看执行计划) EXISTS(某些地方推荐)对下面这条语句去重SELECT 1 FROM a_r a left join t_a_m b on a.id = b.pidleft join t_a_m c on a.id = c.pidwhere a.status = '1' and ((b.tId = 55...原创 2020-03-23 14:29:44 · 368 阅读 · 0 评论 -
异常影响事务回滚
近日测试用例,发现这样一个现象:在业务代码中,有如下两种情况,比如:throw new RuntimeException(“xxxxxxxxxxxx”); 事务回滚抛出新异常(“xxxxxxxxxxxx”); 事务没有回滚...原创 2018-06-05 16:11:23 · 883 阅读 · 0 评论 -
mysql里面的group by和order by结合使用
sql带有group by,那么select里头只能包含group by by的列或者是聚合函数select max(id) id, catid from post group by catid order by id desc;写的顺序:select...from...where....groupby...having...orderby..执行顺序:from...w...原创 2018-06-11 11:20:03 · 1699 阅读 · 0 评论 -
Spring涉及定时注解
package cn.lz.devops.Test;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.context.annotation.Lazy;import org.springframework.scheduling.annotation.Scheduled;imp...原创 2018-05-18 13:48:16 · 280 阅读 · 0 评论 -
Spring的定时任务@Scheduled注解中的cron表达式
一个cron的表达式有至少6个(也可能7个)有空格分隔的时间元素。按顺序依次为秒(0〜59)分钟(0〜59)小时(0〜23)天(月)(0〜31,但是你需要考虑你月的天数)月(0〜11)天(星期)(1〜7 1 = SUN或SUN,MON,TUE,WED,THU,FRI,SAT)7.年份(一九七○年至2099年)其中每个元素可以是一个值(如6),一个连续区间(9-12),一个间隔时间(8-18 / 4...转载 2018-05-18 13:02:19 · 366 阅读 · 0 评论 -
在jsp页面里面调用配置文件
写一个配置文件,如config.properties,将其放在web_inf/lib目录下:如图在jsp文件使用相对路径读取相对路径,进一步解析配置文件:<% //获取配置文件信息 Properties pro = new Properties(); InputStream instm=this.getServletContext().getResourceAsSt原创 2018-04-24 10:22:52 · 2084 阅读 · 0 评论 -
去除警告注解@SuppressWarnings
编码时我们总会发现如下变量未被使用的警告提示: 上述代码编译通过且可以运行,但每行前面的“感叹号”就严重阻碍了我们判断该行是否设置的断点了。这时我们可以在方法前添加 @SuppressWarnings("unused") 去除这些“感叹号”。 作用:用于抑制编译器产生警告信息。 示例1——抑制单类型的警告:@SuppressWarnings("转载 2018-04-19 17:18:19 · 1326 阅读 · 0 评论 -
java泛型
泛型有三种使用方式,分别为:泛型类、泛型接口、泛型方法泛型类:泛型类型用于类的定义中,被称为泛型类。通过泛型可以完成对一组类的操作对外开放相同的接口;如下是自定义泛型类://此处T可以随便写为任意标识,常见的如T、E、K、V等形式的参数常用于表示泛型//在实例化泛型类时,必须指定T的具体类型public class ResObject<T> implements Serializa...原创 2017-12-18 10:35:26 · 157 阅读 · 0 评论 -
泛型方法一
public getX(Class clazz) { retun (T)clazz.newInstance(); //方法内部作了转换,方法外不需要强行转换为实际的T}//如果改成public X getX(Class clazz) { return clazz.newInstance(); //方法内部没有转换,方法外部需要自己转换}//则外部需要自己转换targ转载 2018-04-19 16:42:13 · 138 阅读 · 0 评论 -
sql里面插入语句insert后面的values关键字可省略
例子:插入一行ID = 3,名字=丁老师,薪水= 5000的记录insert into teacher(id,name,salary) select 3,'丁老师',5000 from teacherwhere not exists(select * from teacher where id=3) limit 1;123或者insert into teacher(id,name,salary...转载 2018-06-06 17:39:59 · 7441 阅读 · 0 评论 -
局部内部类里面引用外部参数变量
在使用局部内部类的方式在方法块中创建了一个子线程执行副业务时需要主线程里面的参数变量,总结了几个点:局部内部类里面使用外部变量的时候,这个变量需要是final类型的或者是没有被修改过值的变量(这里的变量指八大基本数据类型的变量,引用类型的变量指向的地址不变,但引用变量的属性值可以修改)。局部内部类使用外部变量的时候建议还是使用final修饰变量或者方法的参数。如变量aString不修改...原创 2019-05-22 18:17:44 · 1022 阅读 · 0 评论 -
java设计模式之组合模式(树形层级)
java设计模式之组合模式学习难度:★★★☆☆,使用频率:★★★★☆】 树形结构在软件中随处可见,例如操作系统中的目录结构、应用软件中的菜单、办公系统中的公司组织结构等等,如何运用面向对象的方式来处理这种树形结构是组合模式需要解决的问题,组合模式通过一种巧妙的设计方案使得用户可以一致性地处理整个树形结构或者树形结构的一部分,也可以一致性地处理树形结构中的叶子节点(不包含子节点的节点)和容器...转载 2019-02-20 11:54:42 · 1431 阅读 · 0 评论 -
MySQL的四种事务隔离级别
本文实验的测试环境:Windows 10+cmd+MySQL5.6.36+InnoDB一、事务的基本要素(ACID) 1、原子性(Atomicity):事务开始后所有操作,要么全部做完,要么全部不做,不可能停滞在中间环节。事务执行过程中出错,会回滚到事务开始前的状态,所有的操作就像没有发生一样。也就是说事务是一个不可分割的整体,就像化学中学过的原子,是物质构成的基本单位。 2、一...转载 2019-02-15 14:11:25 · 149 阅读 · 0 评论 -
实现静态方法注入bean
@PostConstruct说明 被@PostConstruct修饰的方法会在服务器加载Servlet的时候运行,并且只会被服务器调用一次,类似于Serclet的inti()方法。被@PostConstruct修饰的方法会在构造函数之后,init()方法之前运行。@PreDestroy说明 被@PreDestroy修饰的方法会在服务器卸载Servlet的时候运行,并且只...原创 2018-10-26 20:27:00 · 625 阅读 · 0 评论 -
MySQL时间戳转换时间10位 13位
如图1所示,将时间转换为时间戳选择unix_timestamp('2009-10-26 10-06-07')如果参数为空,则处理为当前时间2,将时间戳转换为时间选择from_unixtime(1256540102)有些应用生成的时间戳是比这个多出三位,是毫秒表示,如果要转换,需要先将最后三位去掉(标准的10位数字,如果是13位的话可以以除以千的方式),否则返回NULL选择FROM_UNIXTIME...转载 2018-06-11 09:54:29 · 5601 阅读 · 0 评论 -
SQL UNION 和 UNION ALL 操作符
SQL UNION操作符UNION操作符用于合并两个或多个SELECT语句的结果集。请注意,UNION内部的SELECT语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条SELECT语句中的列的顺序必须相同。SQL UNION语法SELECT column_name(s)FROM table_name1联盟SELECT column_name(s)FROM table_name2...转载 2018-06-06 20:29:39 · 152 阅读 · 0 评论 -
mysql插入数据发现重复的数据则更新的操作
MySQL为我们解决了这个问题:我们可以通过 ON DUPLICATE KEY UPDATE 达到以上目的,且能保证操作的原子性和数据的完整性。在DUPLICATE KEY UPDATE上可以达到以下目的:向数据库中插入一条记录:若该数据的主键值/ UNIQUE KEY已经在表中存在,则执行更新操作,即UPDATE后面的操作。否则插入一条新的记录。...转载 2018-06-21 13:40:54 · 3431 阅读 · 0 评论 -
dll文件
DLL文件解释DLL的最初目的是节约应用程序所需的磁盘和内存空间。在一个传统的非共享库中,一部分代码简单地附加到调用的程序上。如果两个程序调用同一个子程序,就会出现两份那段代码。相反,许多应用共享的代码能够切分到一个DLL中,在硬盘上存为一个文件,在内存中使用一个实例(instance)。DLL的广泛应用使得早期的视窗能够在紧张的内存条件下运行。尽管有这么多的优点,使用DLL也有一原创 2018-04-19 13:38:44 · 966 阅读 · 1 评论 -
详解Java中native关键字
一. 什么是Native Method 简单地讲,一个Native Method就是一个java调用非java代码的接口。一个Native Method是这样一个java的方法:该方法的实现由非java语言实现,比如C。这个特征并非java所特有,很多其它的编程语言都有这一机制,比如在C++中,你可以用extern "C"告知C++编译器去调用一个C的函数。 "A native m转载 2018-04-19 13:35:10 · 410 阅读 · 0 评论 -
注解的作用
生成文档。这是最常见的,也是java 最早提供的注解。常用的有@see @param @return 等;跟踪代码依赖性,实现替代配置文件功能。比较常见的是spring 2.5 开始的基于注解配置。作用就是减少配置。现在的框架基本都使用了这种配置来减少配置文件的数量;在编译时进行格式检查。如@Override 放在方法前,如果你这个方法并不是覆盖了超类方法,则编译时就能检查出;原创 2017-12-05 17:10:10 · 291 阅读 · 0 评论 -
java中定义枚举类
Enum作为Sun全新引进的一个关键字,看起来很象是特殊的class, 它也可以有自己的变量,可以定义自己的方法,可以实现一个或者多个接口。 当我们在声明一个enum类型时,我们应该注意到enum类型有如下的一些特征。 1.它不能有public的构造函数,这样做可以保证客户代码没有办法新建一个enum的实例。 2.所有枚举值都是public转载 2017-12-06 14:40:12 · 3958 阅读 · 0 评论 -
java中*和**的作用
“*”就表示了所有的文件,但是“*”并不包括子目录下的文件;“**”匹配包含任意级子目录中所有的文件原创 2017-12-05 16:27:40 · 7864 阅读 · 2 评论 -
java修饰符的范围
关键字 范围 继承private 本类内部 不可以default(空) 本类和同包 不一定protected 本类+及其子类+同包 可以 public 公开原创 2017-12-05 16:10:29 · 213 阅读 · 0 评论 -
java中native解释
使用native关键字说明这个方法是原生函数,也就是这个方法是用C/C++语言实现的,并且被编译成了DLL,由java去调用。 这些函数的实现体在DLL中,JDK的源代码中并不包含,你应该是看不到的。对于不同的平台它们也是不同的。这也是java的底层机制,实际上java就是在不同的平台上调用不同的native方法实现对操作系统的访问的。 native的意思就是通知操作系统,转载 2017-12-13 10:39:13 · 1474 阅读 · 0 评论 -
SpringBoot和mongodb开发需要使用到的注解和属性
在接触Spring的时候就接触了分别标识原创 2017-12-05 17:07:53 · 3753 阅读 · 0 评论 -
Java注释@interface的用法
2017/11/15 java用 @interface Annotation{ } 定义一个注解 @Annotation,一个注解是一个类。@Override,@Deprecated,@SuppressWarnings为常见的3个注解。注解相当于一种标记,在程序中加上了注解就等于为程序加上了某种标记,以后,JAVAC编译器,开发工具和其他程序可以用反射来了解你的转载 2017-11-15 22:00:59 · 141 阅读 · 0 评论 -
MD5编码
MD5码是将某个文件的内容进行MD5运算得到的一个值,一个文件只会得到一个MD5码;如有两个文件,名字都叫1.txt。第一个文件的内容是1,第二个文件的内容是12;虽然文件的内容很相似,但是进行MD5运算后得到的MD5码是完全不一样的,差别很大;正是这个原理,MD5可是用来检验原始文件是否被篡改过的。而且通过MD5也无法还原出原来的文件原创 2017-12-06 10:55:32 · 1197 阅读 · 0 评论 -
java中的枚举类和常量类的区别
作者:踏雪行链接:https://www.zhihu.com/question/33659578/answer/102108364来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。假如有一笔业务需要审核,审核状态分:未审核,审核中,审核通过,审核不通过。我们在程序里是否可以直接这么写:if(state==1){//1代表未操作//操作转载 2017-12-06 14:26:01 · 3307 阅读 · 0 评论 -
java中参数" ..."的用法和意思
如这个jdbc中封装的绑定参数的方法:/** * 绑定参数 * @param pstmt * @param os */ public static void executebindParam(PreparedStatement pstmt,Object ...os){ int len = os.length; try { for (int i = 0; i <原创 2017-12-15 09:50:22 · 6084 阅读 · 0 评论 -
spring mvc @ResponseStatus和ResponseEntity
@ResponseStatus是标记一个方法或异常类在返回时响应的http状态。其代码注释如下:** The status code is applied to the HTTP response when the handler* method is invoked and overrides status information set by other means,* like {转载 2018-04-17 14:11:05 · 448 阅读 · 0 评论 -
SpringBoot中@Valid注解的使用
@Valid注解用于校验,所属包为:javax.validation.Valid。① 首先需要在实体类的相应字段上添加用于充当校验条件的注解,如:@Min,如下代码(age属于Girl类中的属性):[java] view plain copy@Min(value = 18,message = "未成年禁止入内") private转载 2018-04-17 13:53:01 · 5115 阅读 · 0 评论 -
@SensitiveFormat基于注解的敏感词过滤功能
基于注解的敏感词过滤功能项目需要对用户发布的内容进行过滤,将其中的敏感词替换为 * 等特殊字符。大部分Web项目在处理这方面需求时都会选择过滤器( Filter ),在过滤器中将 Request 包上一层 Wrapper ,并重写其 getParameter 等方法,例如:public class SafeTextRequestWrapper extends HttpServletRe转载 2018-03-23 15:27:23 · 1595 阅读 · 0 评论 -
java中自定义使用{0}占位符功能之MessageFormat类
MessageFormat提供一种语言无关的方式来组装消息,它允许你在运行时刻用指定的参数来替换掉消息字符串中的一部分。你可以为MessageFormat定义一个模式,在其中你可以用占位符来表示变化的部分:原创 2017-12-15 16:38:03 · 4348 阅读 · 0 评论 -
SpringBoot多数据源及MyBatis配置详解
摘要: 目前项目中持久化框架使用是mybatis,经过分析后不难发现,多数据源配置需要解决两个问题,一个是由原先的spring经典方式切换到了springboot方式下,多数据源如何配置?有无太大变化?另一个是怎样将多数据源与mybatis的配置关联起来?前言最近迫于项目需要,笔者踏上了springboot多数据源的配置之旅。之前笔者配置过spring的动态多数据源切换,当转载 2018-01-10 10:40:30 · 11814 阅读 · 1 评论 -
obj==null和obj.isEmpty()还有"".equals()有什么区别,equals
1.一个是对象为空(IsNull),一个是值为空(IsEmpty)obj==null:功能:返回Boolean的值,指明表达是否不包含任何有效数据。NULL表示的是数据值未知或不可用,它不表示零(数字值或二进制值)、零长度的字符串或空白(字符值);obj.isEmpty():功能:用于判断一个变量是否已初始化,如果变量未初始化或显式地设置为Empty,则函数IsEmpty返回True;否则原创 2017-12-06 10:54:51 · 1100 阅读 · 1 评论 -
java内存分析宝典
原创 2017-12-18 14:41:46 · 155 阅读 · 0 评论 -
反射中获取私有的对象
getMethods()获取所有的(包括继承的,如Object类中的)方法getDeclaredMethods()获取所有的(包括私有的)本类的方法原创 2017-12-18 08:40:23 · 514 阅读 · 0 评论 -
jdk的安装与配置
2017/11/14原创 2017-11-14 23:02:51 · 141 阅读 · 0 评论