java
DencyCheng
这个作者很懒,什么都没留下…
展开
-
java8 stream
1.Stream 简介Stream 自己不会存储元素。 Stream 不会改变源对象。相反,他们会返回一个持有结果的新Stream。 Stream 操作是延迟执行的。这意味着他们会等到需要结果的时候才执行。2.Stream 的三个操作步骤2.1创建Stream /** * 创建 Stream */ @Test public void test1(){ //1。可以通过collection 系列集合提供的 stream()或..原创 2021-01-18 16:09:36 · 138 阅读 · 0 评论 -
java8 lambda入门
package lambda;import org.junit.Test;import java.util.Comparator;import java.util.function.Consumer;/** * 基础语法 * @author dencycheng * @date 2020/12/24 8:57 下午 * * 箭头操作符将Lambda拆分成两部分 * 左侧:Lambda 表达式的参数列表 * 右侧:Lambda 表达式所需执行的功能,即Lambda 体 * *.原创 2021-01-17 20:24:50 · 149 阅读 · 0 评论 -
彻底搞懂Cookie、Session、Token到底是什么
Cookie洛:大爷,楼上322住的是马冬梅家吧?大爷:马都什么?夏洛:马冬梅。大爷:什么都没啊?夏洛:马冬梅啊。大爷:马什么没?夏洛:行,大爷你先凉快着吧。在了解这三个概念之前我们先要了解HTTP是无状态的Web服务器,什么是无状态呢?就像上面夏洛特烦恼中经典的一幕对话一样,一次对话完成后下一次对话完全不知道上一次对话发生了什么。如果在Web服务器中只是用来管理...原创 2020-04-04 23:40:31 · 2178 阅读 · 1 评论 -
JAVA String.format()的使用
引言String类的format()方法用于创建格式化的字符串以及连接多个字符串对象。熟悉C语言应该记得C语言的sprintf()方法,两者有类似之处。format()方法有两种重载形式。重载// 使用当前本地区域对象(Locale.getDefault()),制定字符串格式和参数生成格式化的字符串String String.format(String fmt, Object......原创 2020-03-30 10:47:04 · 4162 阅读 · 0 评论 -
敏感词功能(正则,普通敏感词)
1.匹配手机号(查询记录中是否包含手机号)select content from chat_record where content REGEXP "[1][35678][0-9]{9}"原创 2020-03-16 13:47:57 · 1384 阅读 · 0 评论 -
Java中事务总结详解
Java中事务总结详解1.什么是JAVA事务?通常的观念认为,事务仅与数据库相关。事务必须服从ISO/IEC所制定的ACID原则。ACID是原子性(atomicity)、一致性(consistency)、隔离性 (isolation)和持久性(durability)的缩写。事务的原子性:表示事务执行过程中的任何失败都将导致事务所做的任何修改失效。事务的一致性:表示当事务执行失败...原创 2020-03-09 10:27:29 · 354 阅读 · 0 评论 -
java json对象转javaBean
TypeUtils.castToJavaBean(CrmField, CrmField.class)原创 2020-02-10 16:20:54 · 195 阅读 · 0 评论 -
java面试(基础-1)
1. 面向对象和面向过程的区别面向过程:面向过程性能比面向对象高。因为类调用时需要实例化,开销比较大,比较消耗资源,所以当性能是最重要的考量因素的时候,比如单片机、嵌入式开发、Linux/Unix等一般采用面向过程开发。但是,面向过程没有面向对象易维护、易复用、易扩展。 面向对象:面向对象易维护、易复用、易扩展。因为面向对象有封装、继承、多态性的特性,所以可以设计出低耦合的系统,使系...原创 2019-11-29 17:44:29 · 167 阅读 · 0 评论 -
JDBC事务与事务隔离级别详解
事务基本概念一组要么同时执行成功,要么同时执行失败的SQL语句。是数据库操作的一个执行单元。事务开始于:连接到数据库上,并执行一条DML语句insert、update或delete 前一个事务结束后,又输入了另一条DML语句事务结束于执行commit或rollback语句。 执行一条DDL语句,例如createtable语句,在这种情况下,会自动执行commit...原创 2019-11-25 14:19:45 · 226 阅读 · 0 评论 -
java的枚举enum根据code获取name等
package com.newrank.xdf.common.enums;/** * @author dencycheng * @date 2019/11/14 11:37 */public enum Roles { ADMIN(1,"超级管理员"), GROUP_ADMIN(2,"集团管理员"), SCHOOL_ADMIN(3,"分校管理员"), ...原创 2019-11-14 13:09:31 · 7055 阅读 · 0 评论 -
高并发下收藏功能设计
最近公司要做个文章收藏功能,说说自己的想法问题:用户可能频繁点击收藏按钮(防止连点) 频繁点击(收藏,不收藏)按钮 高并发下触发 列表页面显示是否收藏设计:接口前添加限流方案,推荐通过用户id限流。1秒可执行2条左右。然后客户端显示(收藏成功,收藏失败)。防止用户快速点击 存储记录前用redis拦截一下。判断是否收藏过具体做法 用redis的set结构,缓存key="c...原创 2019-09-29 11:16:39 · 1712 阅读 · 0 评论 -
java 替换斜杆与反斜杠
1.java 把字符串中的反斜杠(\)替换成斜杠(/)replaceAll( "\\\\ ", "/");2.java 把字符串中的斜杠(/)替换成反斜杠(\)replaceAll("/", "\\\\");原创 2019-09-26 16:17:36 · 5492 阅读 · 0 评论 -
java 银行贷款工具类
等额本金 /** * 计算等额本金还款 * * @param principal 贷款总额 * @param months 贷款期限 * @param rate 贷款利率 * @return */ public static Kv calculateEqualPrincipal(double pr...原创 2019-09-19 09:28:20 · 1412 阅读 · 2 评论 -
java 并发面试
1.ConcurrentHashMap是面试常客,大家对于下面的问题了解吗?Collections.synchronizedMap()虽然是线程安全的,但是它是通过使用一个全局的锁来同步不同线程间的并发访问,因此会带来较大的性能问题。ConcurrentHashMap的性能大大提升,设计之初就是为了代替Collections.synchronizedMap()。HashMap(HashSet...原创 2019-08-14 20:55:20 · 212 阅读 · 0 评论 -
java 线程池简介
简介什么是“池”:软件中的“池”,可以理解为计划经济时代的工厂。首先,作为工厂,你要管理好你生产的东西,老王从你工厂这里拿走了一把斧头,改天他不需要了,还回来,你可以把这把斧头借给老赵;其次,你又不能无限制的生产,毕竟在资源极度匮乏的时代,如果都被你拿去生产了,其他要用到资源的地方怎么办?总结成两点,“池”的作用:复用已有资源控制资源总量数据库连接池是这样,线程池也是如此...原创 2019-08-14 20:48:16 · 195 阅读 · 0 评论 -
java bigdecimal,取随机数
/** * 获取金额 * @param min * @param max * @return */public static BigDecimal getRandomRedPacketBetweenMinAndMax(BigDecimal min, BigDecimal max){ float minF = min.floatValue(); float maxF = m...原创 2019-08-06 10:21:05 · 5056 阅读 · 0 评论 -
java 画图片
BufferedImage source = new BufferedImage(750, 1334, BufferedImage.TYPE_INT_RGB); Font f1 = new Font("微软雅黑", Font.PLAIN, 21); //背景颜色 Graphics2D backg...原创 2019-06-24 20:02:37 · 1752 阅读 · 0 评论 -
java 监听socket
@Test public void run() throws IOException { AcceptThread acceptThread = new AcceptThread(); acceptThread.run(); } class AcceptThread extends Thread { public void run() { ServerS...原创 2018-08-07 09:01:02 · 4574 阅读 · 0 评论 -
java串口错误,no rxtxSerial in java.library.path
07-Aug-2018 10:51:16.369 FINE [localhost-startStop-1] org.apache.jasper.servlet.TldScanner$TldScannerCallback.scan No TLD files were found in [file:/D:/java/tomcat/apache-tomcat-8.0.1/apache-tomcat-8...原创 2018-08-07 11:04:31 · 8875 阅读 · 6 评论 -
java 开发技巧总结。自用
//1.获得日期 LocalDate localDate = LocalDate.now(); //输出 yyyy-mm-dd System.out.println(localDate.toString()); //获取今天是今年的第几天 System.out.println(localDate.ge...原创 2018-11-16 22:38:33 · 447 阅读 · 0 评论 -
java List打乱排序
//打乱排序Collections.shuffle(list);原创 2018-12-17 14:52:25 · 1767 阅读 · 0 评论 -
java简单的文章推送算法
表结构1.权重表id 类型 权重 时间 1 娱乐 500 xx 2 体育 800 xx 3 动漫 100 xx 2.浏览记录表id 文章id 时间 1 121215 xx 2 124122 xx 3 112331 xx 实现1.先查...原创 2018-12-24 18:22:23 · 1245 阅读 · 0 评论 -
jdk1.8 遍历map,并加上索引
项目需求上需要遍历map,但是又不想用老方法 AtomicInteger optionIndex = new AtomicInteger(1); Map m = hashMap(); //遍历选项 x.forEach((k,y)->{ Kv kv = new Kv(); kv.set("\"na...原创 2019-02-23 16:00:30 · 4771 阅读 · 0 评论 -
java list 手动分页
public List<Record> page(List<Record> dataList, int pageSize,int currentPage) { List<Record> currentPageList = new ArrayList<>(); if (dataList != null && dataList...原创 2019-02-21 09:27:10 · 778 阅读 · 0 评论 -
jdk1.8 sort 排序
//升序newList.sort((Record c1,Record c2)-> Double.valueOf(c1.getStr("distance")).compareTo(Double.valueOf(c2.getStr("distance"))));//降序newList.sort((Record c1,Record c2)-> Double.valueOf(c2.g...原创 2019-02-21 09:31:39 · 3099 阅读 · 0 评论 -
java 递归返回
private Integer getAvailableQuestionId(String totalIdsKey,String answeredKey){ //获得可用答题id Set availableIds = Redis.use().sdiff(totalIdsKey, answeredKey); if (availableIds.size()==0) { R...原创 2019-02-26 16:51:50 · 4010 阅读 · 0 评论 -
程序员进新公司 团队都用java8函数式语法 开始内心是拒绝的
吐槽程序汪进新公司,发现团队都用java8函数式语法开始看lambda语法感觉很不习惯,还有点反感后来慢慢学起来,用习惯了发现非常爽大大提高了开发效率在这个加班加的冒烟的IT界加快开发效率是非常重要的java8才有的特性Optional防空利器方法引用就是这个奇葩语法::简洁之极System.out::printlnfilter...原创 2019-03-26 14:20:49 · 373 阅读 · 0 评论 -
JAVA中替换字符的方法replace和replaceAll 区别
replace和replaceAll是JAVA中常用的替换字符的方法,它们的区别是:1.replace的参数是char和CharSequence,即可以支持字符的替换,也支持字符串的替换(CharSequence即字符串序列的意思,说白了也就是字符串);2.replaceAll的参数是regex或者char,即基于规则表达式的替换,比如,可以通过replaceAll("\\d", "*...原创 2019-06-05 20:50:55 · 307 阅读 · 0 评论 -
java 取交集方法retainAll
java 取交集方法retainAll有两个集合newCoures和oldCourses,判断这两个集合是否包含相同的对象或元素,可以使用retainAll方法:oldCourses.retainAll(newCoures)。如果存在相同元素,oldCourses中仅保留相同的元素。如果不存在相同元素,oldCourse会变为空。如果有多个集合oldCourses1、oldCo...原创 2019-07-02 09:39:42 · 6834 阅读 · 0 评论 -
spring+tomcat7 + websocket + sock.js消息推送
使用STOMP 的目的,目前还有浏览器不支持websocket ,所有用了STOMP 1.pom文件添加 <!-- web socket 需要的 library --> <dependency> <groupId>org.springframework</groupId> <artifactId>spri...原创 2018-08-09 10:54:26 · 628 阅读 · 1 评论