自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(1153)
  • 问答 (3)
  • 收藏
  • 关注

原创 并发容器 CopyOnWriteArrayList 学习

参考资料:1。Java并发编程:并发容器之CopyOnWriteArrayList(转载) http://www.cnblogs.com/dolphin0520/p/3938914.html2、聊聊并发-Java中的Copy-On-Write容器 http://ifeve.com/java-copy-on-write/...

2018-04-22 00:41:11 169

原创 LockSupport 中 park 和 unpark 的使用

Basic thread blocking primitives for creating locks and other synchronization classes.cankaoziliao:1、Java中Lock和LockSupport的区别到底是什么? https://www.zhihu.com/question/264719722、Java的LockSupport...

2018-04-22 00:40:04 546

原创 JDK 1.6 与 1.8 中的 ConcurrentHashMap 学习

参考资料:1、JDK1.8逐字逐句带你理解ConcurrentHashMap https://blog.csdn.net/u012403290/article/details/676364692、Java并发编程总结4——ConcurrentHashMap在jdk1.8中的改进 https://www.cnblogs.com/everSeeker/p/5601861.html3、j...

2018-04-22 00:34:01 381

原创 AbstractQueuedSynchronizer 学习

参考资料:1、深入浅出AQS之独占锁模式 https://www.jianshu.com/p/71449a7d01af2、深入浅出AQS之共享锁模式 https://www.jianshu.com/p/1161d33fc1d0独占式获取过程:1、线程调用 acquire() 方法获取同步状态 state2、如果 tryAcquire() 返回为 false (获取失...

2018-04-21 17:35:06 253

原创 Linux 查看系统版本和内核版本

内核版本:$ cat /proc/version系统版本:$ rpm -q centos-release 参考资料:查看linux系统版本命令 https://blog.csdn.net/zhuying_linux/article/details/6859286

2018-04-20 16:01:41 802

原创 HashMap 的 key、value 所允许的数据类型

package com.heatdeath.object;import lombok.extern.slf4j.Slf4j;import java.util.HashMap;import java.util.Map;/** * Author: heatdeath * Date: 2018/4/19 * Desc: */@Slf4jpublic class Equa...

2018-04-19 21:51:15 20095 1

原创 通过 Demo 理解 hashCode 与 equals 的关系

package com.heatdeath.object;import lombok.extern.slf4j.Slf4j;import java.util.HashMap;import java.util.Map;/** * Author: heatdeath * Date: 2018/4/19 * Desc: */@Slf4jpublic class Equa...

2018-04-19 21:37:34 228

原创 Object 的 hashCode() 、equals()、toString() 方法

hashCode()hashCode() 是 native 方法,也就是本地方法,使用 C++ 写的虽然看不懂 C++ 的代码,但是可以确定,hashCode 不是对象在内存中的地址!toString()Object.toString() 是 "类的完全限定名 + @ + 十六进制的 HashCode"equals()equals() 比较引用类型数据 ...

2018-04-19 21:31:13 234

原创 win10 任务计划设置每隔2小时执行一次的方法

添加任务后查看属性,编辑触发器,在高级设置中,选中重复任务间隔,这个框是可以选择和手动编辑的。根据需求可以每隔几分钟,持续无限期的进行...

2018-04-19 15:22:40 22250 3

原创 使用 fastjson 转换 Date 格式的数据,默认是时间戳,更改为 年-月-日 的方法

在实体字段上加上 @JSONField(format = "yyyy-MM-dd HH:mm:ss")public class CardDetailVO implements Serializable { private static final long serialVersionUID = 6666370934999162273L; // 主键自增 private ...

2018-04-18 12:07:36 15554

原创 Java 匿名内部类调用局部变量

Java 8 之前,匿名内部类中使用 局部变量,需要强制使用 final 修饰Java 8 开始匿名内部类使用的外部变量不再被强制用final修饰。外部变量要么是final的;要么自初始化后值不会被改变这两种都是可以在匿名内部类中使用且编译通过。但是 java8只是对‘事实上final’变量可以不声明final标识符而已,其实还是要求final,参考资料:1、jav...

2018-04-16 17:30:02 1453

转载 数据结构基础——数组与链表的区别

数组:数组是将元素在内存中连续存放,由于每个元素占用内存相同,可以通过下标迅速访问数组中任何元素。但是如果要在数组中增加一个元素,需要移动大量元素,在内存中空出一个元素的空间,然后将要增加的元素放在其中。同样的道理,如果想删除一个元素,同样需要移动大量元素去填掉被移动的元素。如果应用需要快速访问数据,很少或不插入和删除元素,就应该用数组。链表:链表恰好相反,链表中的元素在内存中不是...

2018-04-16 15:43:10 273

原创 Java 并发容器 —— Hashtable 与 Collections.synchronizedMap(HashMap) 的区别

Hashtable 部分源码以 Hashtable 的 put 方法为例:Hashtable 保证线程安全的方式在 方法前加上 synchronized 关键字(锁的是类的实例)Collections.synchronizedMap() 的部分源码Collections.synchronizedMap() 会调用 静态内部类SynchronizedMap 的构造器 S...

2018-04-16 13:18:24 2254 1

原创 MySQL 设置自动添加创建时间,自动更新 更新时间 的方法

CREATE TABLE `mytesttable` ( `id` int(11) NOT NULL, `name` varchar(255) DEFAULT NULL, `createtime` datetime DEFAULT CURRENT_TIMESTAMP, `updatetime` datetime DEFAULT CURRENT_TIMESTAMP O...

2018-04-16 10:41:35 3514

转载 Spring Task crontab 表达式的使用方法

Spring cron 表达式Spring Scheduler的使用与坑 Spring cron 表达式 前言:  最近做的项目有用到定时器,每周只在特定时间运行一次,考虑到Spring Task的简单易用性,就果断选择了,我是配置在配置文件里面,没有用注解@Scheduled,推荐配置,注解虽方便...

2018-04-16 10:11:09 2722

原创 通过 demo 理解 Java 中 try,catch,finally,return 的执行顺序

Demo-1java 编译器把unreachable statement标记为运行时错误,一个unreachable statement就是编译器决定永远不会执行它。Demo-2通过 除0 引发异常,返回 catch 块中的结果Demo-3此时 finally 块中的结果覆盖了 catch 块中的结果Demo-4注释掉 除零 异常...

2018-04-14 11:14:16 341

转载 Java 程序运行时间计算

以毫秒为单位long startTime = System.currentTimeMillis(); //获取开始时间doSomething(); //测试的代码段long endTime = System.currentTimeMillis(); //获取结束时间System.out.println("程序运行时间:" + (endTime - startTim...

2018-04-13 10:50:46 3516

原创 Java 静态构造块异常抛出处理方法

static{ try{ private Object obj = new Object(); } catch(Exception e) { log.error(e); }}静态构造块中的异常不要抛出,否则会造成类初始化异常!

2018-04-13 10:49:18 5583

原创 Java 使用 Lambda 表达式拼接 字符串

List<ProductInfoVO> list = dao.queryDocesByCondition(condition);String value = list.stream().map(productInfoVO -> String.valueOf(productInfoVO.getReqType())).collect(Collectors.joining(",")...

2018-04-13 10:15:43 9615

原创 在工作中充分的体会到了 单线程、多线程的区别,以及 缓存的强大之处...

qryAll采用 【单线程】 5次请求的平均用时为:73713.0ms采用 【单线程】 5次请求的总共用时为:368565.0ms----使用 ExecutorService, Collections.synchronizedList(), CountDownLatch采用 【多线程】 5次请求的平均用时为:7615.333333333333ms采用 【多线程】 5次请求的总共...

2018-04-13 00:56:09 1181

原创 Java 中 Long 类型数据相除,结果保留两位小数

String.format("%.2f", ((val5.doubleValue() / val3.doubleValue()) * 100)) + "%";调用 Long 类型的 doubleValue() 方法,以及 String.format() 方法即可

2018-04-12 15:04:57 43387 2

原创 Java 通过反射调用类私有方法的方法

今天在写一个类的单元测试的时候,想测试一下 一个类的私有方法在网上找了一下,应该这样写: @Test @SuppressWarnings("JavaReflectionMemberAccess") public void reqStatisticsTypeOne() throws Exception { List<String> met...

2018-04-11 19:47:46 640

原创 Atomic 中的 incrementAndGet与 getAndIncrement 两个方法的区别

incrementAndGet() /** * Atomically increments by one the current value. * * @return the updated value */ public final int incrementAndGet() { return unsafe.getAn...

2018-04-10 11:57:56 11296 4

转载 Java 并发编程 —— CountDownLatch 的使用方法

什么时候使用CountDownLatch什么时候使用CountDownLatch 阅读目录1 CountDownLatch2 使用 CountDownLatch 控制多个线程执行顺序场景:在学习单例模式时候,用到了锁synchronized的概念,在多线程中又用到了CountDownLatch的概念jdk:https://docs.oracle.com/jav...

2018-04-09 20:00:46 705

转载 CentOS 使用 yum 安装 Nginx 的方法

CentOS 7 用 yum 安装 Nginx 在 CentOS 7 中,直接使用 yum 安装 Nignx 会提示无下载源。因此,需要添加 Nginx 的下载源到 yum:sudo rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx....

2018-04-09 17:49:40 658

原创 CentOS 无法找到 Systemctl 命令的解决办法

centos 6 找不到Systemctl怎么办没事,您可以使用 service 。比如想要启动 NGINX,可以这样:service nginx start使用 service 命令替代参考资料:1、Systemctl无法找到怎么办 https://talk.ninghao.net/t/systemctlwu-fa-zhao-dao-zen-yao-ban/2559...

2018-04-09 17:47:43 82185 6

原创 CentOS 启动 Nginx 报错 97: Address family not supported by protocol 的解决办法

Starting nginx: nginx: [emerg] socket() [::]:80 failed (97: Address family not supported by protocol)解决办法:vim /etc/nginx/conf.d/default.conflisten 80 default_server;listen [::]...

2018-04-09 17:45:51 7367 1

原创 Intellij IDEA 从本地硬盘安装插件报错的解决办法 plugin lombok is incompatible

idea plugin lombok is incompatible插件版本与当前 IDEA 版本不匹配,去 IDEA 官网上找一找与之版本匹配的插件,重新下载即可安装时,选择 zip 压缩文件即可http://plugins.jetbrains.com/plugin/6317-lombok-pluginLombok plugin incompatible ...

2018-04-09 17:32:05 12035

原创 Mybatis 自动生成的 Example 类的使用方法

基本使用:使用方法一:UserExample example = new UserExample();Criteria criteria = example.createCriteria();criteria.andUsernameEqualTo("wyw");criteria.andUsernameIsNull();example.setOrderByClause("userna...

2018-04-09 14:23:06 7281

原创 Java8 时间日期库的使用方法

1、Java 8新的时间日期库的20个使用示例 http://ifeve.com/20-examples-of-date-and-time-api-from-java8/2、Java8 日期/时间(Date Time)API指南 http://www.importnew.com/14140.html3、JAVA 8:健壮、易用的时间/日期API http://www.importne...

2018-04-09 08:45:23 296

原创 Java8 Lambda 表达式的使用

1、Java 8 教程汇总 https://wizardforcel.gitbooks.io/java8-tutorials/content/2、Java8 lambda表达式10个示例 http://www.importnew.com/16436.html3、深入浅出 Java 8 Lambda 表达式 http://blog.oneapm.com/apm-tech/226.htm...

2018-04-09 08:37:40 186

原创 Java8 Stram 的使用

1、Java Stream 详解 http://colobu.com/2016/03/02/Java-Stream/2、Java 8 Stream 教程 https://www.jianshu.com/p/0c07597d83113、Java 8 中的 Streams API 详解 https://www.ibm.com/developerworks/cn/java/j-lo-jav...

2018-04-09 08:36:34 289

原创 MyBatis 向 sql 语句中传入多个参数的方法

参考资料:1、MyBatis传入多个参数的问题 https://www.cnblogs.com/mingyue1818/p/3714162.html2、mybatis传入多个参数 http://www.cnblogs.com/ningheshutong/p/5828854.html3、mybatis传入单个或多个参数 https://blog.csdn.net/lynn_Kun/...

2018-04-08 16:12:05 2346

原创 MyBatis 的 xml 文件中 大于号和小于号的处理方式

nested exception is org.apache.ibatis.builder.BuilderException: Error creating document instance. Cause: org.xml.sax.SAXParseException: The content of elements must consist of well-formed characte...

2018-04-08 11:47:27 681

原创 最近学习的一点感想(关于 Flask、Django、SpringBoot)

最近接触到了 SpringBoot 、lombok想到了一些不太恰当的类比Python JavaDjango -》 SpringMVCFlask -》 SpringBoot感觉 Django 和 SpringMVC 都很重,要写好多好多的配置文件而 Flask 和 SpringBoot (配合 lombok),感觉很清爽。但是注解满天飞Sprin...

2018-04-08 00:47:05 12750 23

原创 @Controller、@RestController、@GetMappring、@PostMapping 注解的使用

@RestController is a stereotype annotation that combines @ResponseBody and @Controller. 意思是: @RestController注解相当于@ResponseBody + @Controller合在一起的作用。@Controller @ResponseBody public class MyContr...

2018-04-08 00:36:17 1702

原创 JDK8 lambda 表达式 与 方法引用(Method References)

引用静态方法 ContainingClass::staticMethodName 例子: String::valueOf,对应的Lambda:(s) -> String.valueOf(s) 比较容易理解,和静态方法调用相比,只是把.换为::引用特定对象的实例方法 containingObject::instanceMethodName 例子: x::toString...

2018-04-08 00:14:51 721

原创 无限循环 for(;;) 与 while(true) 的区别

至于Java里while (true)与for (;;)哪个“效率更高”。以Oracle/Sun JDK8u / OpenJDK8u的实现来看,首先看javac对下面俩语句的编译结果:public void foo() { int i = 0; while (true) { i++; } }/* public void foo(); Code: ...

2018-04-08 00:10:03 4432

原创 利用 BeanUtils 将 Map 与 Bean 进行相互转换(把 map 值放入 Bean 的属性中)

map -》 BeanBeanUtils.populate(Object bean, Map<String, ? extends Object> properties);Bean -》 MapBeanMap testMap = new BeanMap(Object bean);需要添加的 Maven 依赖 <!-- ...

2018-04-08 00:02:37 34854 1

原创 使用 BeanWrapper 将 Map 的 value 放入 Bean 的属性中

package com.ldlood.beanUtilsTest;import com.ldlood.VO.ProductVO;import lombok.extern.slf4j.Slf4j;import lombok.val;import org.apache.commons.beanutils.BeanMap;import org.apache.commons.beanutil...

2018-04-08 00:02:19 941

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除