- 博客(47)
- 收藏
- 关注

原创 java8中Lambda表达式多字段分组
代码:List<Entity> list = new ArrayList<>();Map<Integer, String> map = list.stream().collect(Collectors.toMap(Entity::getId, Entity::getType)); 常用的lambda表达式:** * List -> ...
2019-05-22 13:52:18
31387
2

转载 java最全面试要点
基础篇基本功面向对象的特征final, finally, finalize 的区别int 和 Integer 有什么区别重载和重写的区别抽象类和接口有什么区别说说反射的用途及实现说说自定义注解的场景及实现HTTP 请求的 GET 与 POST 方式的区别session 与 cookie 区别session 分布式处理JDBC 流程MVC 设计思想equals 与 == 的区别集合List 和 Se...
2018-04-17 16:01:17
750
原创 freemaker--自定义函数
string(\"0.0000\")}<#else>不是数字:${abc?string(\"0.0000\")}<#else>不是数字:${abc?string(\"0.0000\")}</#if>对给定的数值或字符串做数字格式化。
2024-04-08 15:31:38
436
原创 linux查看目录下磁盘空间
TCP粘包拆包问题原因1.拆包: 发送的数据大于系统内核TCOP缓冲区2.拆包:超过TCP协议中最大报文长度3.粘包:接收方处理太慢,导致接收的缓冲区堆积4.粘包:发送小于缓冲区,短时间内多次写入...
2022-06-07 11:32:31
143
原创 利用钉钉机器人发送群消息
首先添加自定义机器人,会获得一个链接:https://oapi.dingtalk.com/robot/send?access_token=xxxxxxxxxxxxxxx其中后面access_token是固定import com.alibaba.fastjson.JSONObject;import org.apache.http.HttpResponse;import org.apache.http.HttpStatus;import org.apache.http.client...
2022-04-20 21:27:10
2719
原创 mysql主从同步报错
动态变量:可以在MySQL运行时调整其指,并立即生效;set global sort_buffer_size=value静态变量:需要在配置文件中修改,重启服务后生效;/etc/my.cnf全局变量:服务级别的设定,对整个服务生效,所有回话,当时已经连接不生效,重新联系才生效;set global sort_buffer_size=value会话变量:仅对当前会话生效,其他会话和新会话不受影响;会话结束值即销毁;set session sort_buffer_size=value...
2022-03-02 14:06:23
395
原创 java线程池
1、为啥要使用线程池减少资源创建 => 减少内存开销,创建线程占用内存 降低系统开销 => 创建线程需要时间,会延迟处理的请求 提高稳定稳定性 => 避免无限创建线程引起的OutOfMemoryError【简称OOM】2、线程池参数corePoolSize: 线程池中的常驻核心线程数;在创建了线程池后,当有请求任务来之后,就会排池中的线程去执行请求任务,近似理解为今日当值线程。当线程池中的线程数目达到corePoolSize后,就会把到达的任务放到缓存队列当中。 ma.
2022-03-02 14:04:13
69
转载 【转载】mysql去重获取最新日期的一组数据
SELECT 4 t1.* 5 FROM t_login_log t16 LEFT JOIN t_login_log t2 ON t1.user_id = t2.user_id AND t1.login_time < t2.login_time 7 WHERE t2.id IS NULL;
2022-01-13 17:20:52
712
原创 springboot数据库密码加密
一、有秘钥的密码配置1、生成密码调jar包生成:java -cp druid-1.1.16.jar com.alibaba.druid.filter.config.ConfigTools 密码或调用 main方法生成2、配置注意:不支持用户名也加密,代码里不能定义DataSource初始化,否则会导致解密失效,如下图二、无秘钥的密码配置1、生成密码com.alibaba.druid.filter.config.ConfigTools..encrypt(...
2021-09-05 13:44:10
826
原创 wait、notify在object里而sleep在Thread里
1.wait 是在synchronized代码块中,所以它必须先拿到对象锁,wait是需要释放锁,而且它是依靠其他线程通知,是依靠这把对象锁来唤醒该线程,是锁级别的操作2.sleep是当前线程内操作,不涉及其他线程。是线程级别的,不需要释放锁...
2021-03-09 13:54:30
200
原创 java多线程基础篇(wait、notify、join、sleep、yeild方法)
1.wait必须在同步代码块中使用会把当前的锁释放,然后让出CPU,进入等待状态2.notify必须在同步代码块中使用会唤醒一个处于等待该 对象锁 的线程,然后继续往下执行notify不会立刻释放资源,而是让notify所在的同步块运行执行完毕,退出对象锁 锁住的区域后再释放锁3.join join方法的作用是等待线程对象销毁当前线程a(currentThread)进行无限期的阻塞,等待调用线程b(调用join的线程)销毁后继续执行a线程特点:内部使用wa..
2020-11-04 14:31:05
328
2
原创 spring的循环依赖
1.定义循环依赖就是循环引用,就是两个或多个bean相互之间的持有对方,比如CircleA引用CircleB,CircleB引用CircleC,CircleC引用CircleA,则它们最终反映为一个环如下是循环调用循环调用是无法解决的,除非有终结条件,否则就是死循环,最终导致内存溢出错误2.spring如何解决Spring中分为 两中情况1)构造器循环依赖、此依赖...
2020-01-09 16:19:35
201
原创 java注解之运行时修改字段的注解值
今天遇到需求:导入Excel时候列头会发生变化,客户是大爷要求你改代码,导入Excel是用easypoi做的,识别表头是用注解@Excel(name = "xxx")通过这个name来匹配那你表头要动,我这个注解是硬编码所以就有动态设置这个表头public classJavaVo{@Excel(name = "xxx")private String userName;...
2020-01-08 16:42:33
1427
7
原创 spring源码深度解析——bean的加载
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean方法 protected <T> T doGetBean( final String name, final Class<T> requiredType, final Object[] args, boolean typeC...
2020-01-07 09:34:51
361
1
原创 java中的String定义的字面量最大长度是多少
java的String对象底层是有字符数组存储的,理论上char[] 最大长度是int的最大值,实际思路:首先,String字面常量是由String类来维护的,并且在编译时就可以确定(具体请参考String常量池)。因而,如果String字面常量存在一个最大的长度(目前暂且假设),而我们使用的字面常量又超过了这个极限,那么,在编译期间,编译器就能够给出错误信息。因此,我们可以使用IO流生...
2019-12-24 16:18:51
887
原创 多线程之基础
1.状态New,Runnable,Block,Waiting,Timed_Waiting,Terminated1.New表示刚刚创建的线程,线程还没开始执行。2.Runnable正在执行线程的run方法3.Block线程在执行过程时遇到了synchronized同步块,就会进入阻塞状元,这是线程就会暂停执行,直到获得请求的锁4.Waiting进入无时间限制的等...
2019-10-30 17:10:29
140
原创 数据结构-数组
1.线性表n个具有相同特性的数据元素的有限序列,每个数据只有前后两个方向。常见的:数组,链表,队列,栈2.非线性表数据之间的关系不是简单的前后关系常见的:二叉树,堆,图3.数组线性表的数据结构,它用一组连续的内存空间,来存储一组具有相同类型的数据。特性:随机访问 长度固定数组是根据下表随机访问数组元素公式: a[i]_address = base_add...
2019-10-22 21:41:46
118
原创 mysql关联查询 字符集
mysql关联的字段通常都是id外键关联,所以一般不会有问题坑就坑在有的表不通过id关联,它是通过某个字符串关联如果两张表的对应的字段设置字符集不一致如下:当我们如果通过以上两张表的对应的email字段管理时,就会特别慢所以应该尽量保持数据库中所有字段的字符集保持一致...
2019-07-22 17:20:40
514
原创 springboot项目json序列化出现$ref:
import com.alibaba.fastjson.serializer.SerializerFeature;import com.alibaba.fastjson.support.config.FastJsonConfig;import com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter4;import...
2019-05-13 14:54:22
3603
原创 Windows下python3.6 安装MySQLdb
1.下载安装下载链接:下载2.安装cmd打开刚刚下载的文件所在的路径执行命令pip install mysqlclient-1.3.12-cp36-cp36m-win_amd64.whl 出现上面提示 successfully 即可 ...
2019-01-06 13:58:54
2397
转载 jvm参数 设置建议
从网上找到这篇文章,希望自己对Java的内存分配有重新的认识/usr/local/jdk/bin/java -Dresin.home=/usr/local/resin -server -Xms1800M -Xmx1800M -Xmn300M -Xss512K -XX:PermSize=300M -XX:MaxPermSize=300M -XX:SurvivorRat...
2018-12-21 16:37:21
2013
转载 linux环境下安装nginx步骤
原文地址 http://www.nginx.cn/installnginx可以使用各平台的默认包来安装,本文是介绍使用源码编译安装,包括具体的编译参数信息。正式开始前,编译环境gcc g++ 开发库之类的需要提前装好,这里默认你已经装好。ububtu平台编译环境可以使用以下指令 1 2 apt-get install build-essenti...
2018-12-07 15:14:00
866
原创 Java拾遗(一)之SPI机制
例子: IOperation plus = new PlusOperationImpl(); IOperation division = new DivisionOperationImpl(); System.out.println(plus.operation(6, 3));//加法 System.out.println(div...
2018-09-04 15:28:26
421
原创 绝对良心提供百度网盘的jdk1.8源码下载包含sun包的
jdk目录下是有源码的,但是源码不包含sun包,但是openjdk网站有提供的:http://hg.openjdk.java.net/jdk8u/jdk8u/jdk/file/6bfaecb8ff77/src/share/classes/或者直接用百度网盘下载:https://pan.baidu.com/s/1JaX50ETPaneQ-xFut3G--g...
2018-08-17 20:26:56
14349
12
原创 发起http请求raw格式
周末加班调别人给的接口,总是他的接口报错500。但是用postman调用,设置参数格式为raw的json格式就可以通了,自己的java代码就是不通人家又不加班 自己百度了看看。查到了好办法public static String result;public static void httpTest() throws ClientProtocolException, IOException {...
2018-05-26 11:43:03
58700
3
转载 【转载】java虚拟机JVM中一个对象在堆中的生命周期
首先,我们都知道java中的对象都是存放在堆内存中的。jvm中对堆进行了划分,也就是年轻代和老年代。为啥要分代呢?那么首先看这两个区域的区别,最大的就是回收算法不同,年轻代对应的垃圾回收器是:Minor GC,它主要是基于复制算法(从from区复制到to区)。老年代则是Major GC或者是Full GC,Major GC:主要用标记清除算法,先扫描一次所有老年代,标记出存活的对象,然后回收没有标...
2018-04-12 21:32:30
2599
原创 spring cloud 的eureka项目在eclipse打成jar包
之前使用默认spring boot的方式给一般的springboot打jar包是可以的。<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin...
2018-04-10 09:37:15
2118
转载 Java开发之Tomcat注解@PostConstruct和@PreConstruct注解
当我们启动项目想要初始化一些初始化数据时可以用PostConstruct注解本文转载自https://www.cnblogs.com/landiljy/p/5764515.html从Java EE5规范开始,Servlet增加了两个影响Servlet生命周期的注解(Annotation):@PostConstruct和@PreConstruct。这两个注解被用来修饰一个非静态的void()方法.而...
2018-03-30 16:56:39
1149
原创 看透SpringMVC系列(二)详解Servlet
Servlet是Server+Applet的缩写,表示一个服务器应用。Servlet其实就是一套规范。我们按照这套规范些代码就可以直接在Java的服务器上面运行了。Servlet结构图:Servlet接口定义:public interface Servlet{ public void init(ServletConfig config)throws ServletException; ...
2018-03-15 22:35:39
239
原创 看透SpringMVC系列(二)用NIO自己手动实现HTTP协议
我们知道HTTP协议是在应用层解析内容的,只需要按照它的报文格式封装和解析数据就可以了,具体的传输还是使用的Socket。因为HTTP协议是在接受到数据之后才会用到的:代码package nio;import java.io.IOException;import java.net.InetSocketAddress;import java.nio.ByteBuffer;import ja...
2018-03-14 22:58:26
1378
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人