JAVA
文章平均质量分 93
wachoo
这个作者很懒,什么都没留下…
展开
-
Java lambda表达式10个示例
java 的lambda表达式转载 2022-03-16 19:37:07 · 1564 阅读 · 0 评论 -
Java8 中通过 Stream 对列表进行去重的方法
1. Stream 的distinct()方法distinct()是Java8 中 Stream 提供的方法,返回的是由该流中不同元素组成的流。distinct()使用hashCode()和eqauls()方法来获取不同的元素。因此,需要去重的类必须实现hashCode()和equals()方法。换句话讲,我们可以通过重写定制的hashCode()和equa...原创 2020-04-17 15:32:44 · 795 阅读 · 0 评论 -
Java中用IntelliJ IDEA生成可执行Jar包
//更新manifest.mf 将自己写的manifest.mf 放到Test.class目录内容为:Manifest-Version: 1.0Main-Class: cn.demo.CspaceAddToSingleChatApp注意回车使用以下命令生效jar umf MANIFEST.MF test.jarjava -jar test...原创 2019-04-19 13:46:54 · 798 阅读 · 0 评论 -
lambda集合互转
常用方式代码如下:public Map<Long, String> getIdNameMap(List<Account> accounts) { return accounts.stream().collect(Collectors.toMap(Account::getId, Account::getUsername));}收集成实体本身map...原创 2019-04-23 09:52:03 · 815 阅读 · 0 评论 -
分布式锁
### 什么是锁?在单进程的系统中,当存在多个线程可以同时改变某个变量(可变共享变量)时,就需要对变量或代码块做同步,使其在修改这种变量时能够线性执行消除并发修改变量。 而同步的本质是通过锁来实现的。为了实现多个线程在一个时刻同一个代码块只能有一个线程可执行,那么需要在某个地方做个标记,这个标记必须每个线程都能看到,当标记不存在时可以设置该标记,其余后续线程发现已经有标记了则等待拥有标记的线...转载 2019-04-17 14:39:02 · 128 阅读 · 0 评论 -
List中的并发与同步类
列表实现有ArrayList、Vector、CopyOnWriteArrayList、Collections.synchronizedList(list)四种方式。1 ArrayList ArrayList是非线性安全,此类的 iterator 和 listIterator 方法返回的迭代器是快速失败的:在创建迭代器之后,除非通过迭代器自身的 remove 或 add 方法从...转载 2018-12-24 14:30:14 · 4721 阅读 · 1 评论 -
SimpleDateFormat的使用问题
SimpleDateFormat用法 SimpleDateFormat是Java提供的一个格式化和解析日期的工具类。它允许进行格式化(日期 -> 文本)、解析(文本 -> 日期)和规范化。SimpleDateFormat 使得可以选择任何用户定义的日期-时间格式的模式。在Java中,可以使用SimpleDateFormat的format方法,将一个Date类型转化成S...转载 2018-12-11 16:46:27 · 494 阅读 · 0 评论 -
设计模式之六大原则(转载)
关于设计模式的六大设计原则的资料网上很多,但是很多地方解释地都太过于笼统化,我也找了很多资料来看,发现CSDN上有几篇关于设计模式的六大原则讲述的比较通俗易懂,因此转载过来。 原作者博客链接:http://blog.csdn.net/LoveLion/article/category/738450/7一.单一职责原则 原文链接:http://blog.csdn.net/loveli...转载 2018-11-08 11:08:39 · 146 阅读 · 0 评论 -
Java并发编程:线程池的使用
在前面的文章中,我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题: 如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。 那么有没有一种办法使得线程可以复用,就是执行完一个任务,并不被销毁,而是可以继续执行其他的任务? 在Java中可以通过线程池来达到这样的...转载 2018-11-08 10:44:36 · 135 阅读 · 0 评论 -
IntelliJ IDEA For Mac 快捷键
根据官方pdf翻译:https://www.jetbrains.com/idea/docs/IntelliJIDEA_ReferenceCard_Mac.pdf 在 IntelliJ IDEA 中有两个 Mac 版本的快捷键,一个叫做:Mac OS X,一个叫做:Mac OS X 10.5+ 目前都是用:Mac OS X 10.5+ 有两套的原因:https://intellij-suppo...转载 2018-11-07 17:10:00 · 156 阅读 · 0 评论 -
Idea---方法注释模板
一、打开方法注释idea设置流程如下:设置表达式如下:/** * @author $username$ * @time $date$ $time$* @method $method$ * @param $param$ * @return $return$* @description $desc$ */二、设置code FileHeader设置表...原创 2018-11-07 16:46:37 · 344 阅读 · 0 评论 -
maven 动态配置与发布
一、背景 在开发过程中,我们的软件会面对不同的运行环境,比如开发环境、测试环境、生产环境,而我们的软件在不同的环境中,有的配置可能会不一样,比如数据源配置、日志文件配置、以及一些软件运行过程中的基本配置,那每次我们将软件部署到不同的环境时,都需要修改相应的配置文件,这样来回修改,很容易出错,而且浪费劳动力。 maven提供了一种方便的解决这种问题的方案,就是profile功能。二、...原创 2018-09-30 16:32:09 · 576 阅读 · 0 评论 -
JMX自定义MXBean
MXBean接口一个MBean由一个MBean接口(该MBean接口列出了所有被暴露的属性和操作对应的方法)和一个class(这 个class实现了这个MBean接口并提供被监测资源的功能)组成。下面的章节展示了一个MBean例子,以及管理该MBean的一个简单的 JMX agent。public interface MXBeanBase { /** * 加载元素 ...原创 2018-09-29 18:44:21 · 1782 阅读 · 0 评论 -
Ubuntu之JDK环境版本升级
使用wget获取URL下载对应JDK 查看对应的系统版本,可以在终端terminal下输入命令:getconf LONG_BIT64位可选择如下下载路径wget --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u1...原创 2018-09-21 16:05:02 · 2867 阅读 · 0 评论