自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 收藏
  • 关注

原创 Mybatis-Plus-Plus--支持两表关联查询的Mybatis-Plus插件

mybatis-plus-plus(mpp)针对mybatis-plus只能进行单表操作,通过使用此插件,可以支持两表关联查询github: https://github.com/nullbull/mybatis-plus-plusgitee: https://gitee.com/nullbull/mybatis-plus-plus欢迎大家提需求,issue,改进意见,感谢各位demo可见 https://github.com/nullbull/mybatis-plus-plus-demo接入步

2020-09-30 11:07:21 2922

原创 Java HttpClient如何带证书发起请求

javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target at sun.security.ssl.Alerts.g

2021-02-03 14:02:00 3497 2

原创 使用三个锁解决生产者消费者问题

//队列public class Buffer { private Queue<String> queue; private int size = 10; // 消费者锁 private Object getLock = new Object(); // 生产者锁 private Object addLock = new Object(); private AtomicInteger count = new AtomicIntege

2020-12-22 17:37:39 325 1

原创 为什么jvm启动时,参数Xms指定的内存大小没有被占用

JVM参数设置为 -Xms4g -Xmx4g 最大堆内存和最小堆内存都设置了4G,但是为什么java进程占用的实际物理内存却没有占用4个G,却是随着进程的运行,不断的增长,直到触发FullGC,并且发生完FullGC之后,Java进程的内存却没有随之变小?问题1:为什么参数Xms指定的内存大小没有被占用原因:JVM在启动前会向操作系统申请内存, 注意这个内存是虚拟内存,如果-Xms设置的过大,超过了操作系统可分配的内存上线,就会启动失败,报下面的异常Error occurred during init

2020-09-21 18:12:49 4204 3

原创 使用org.yaml.snakeyaml解析YAML,遇到大括号{}等特殊符号报错,如何解决

while parsing a flow mapping in 'reader', line 54, column 7: - {key: /test/{id}, id: ... ^expected ',' or '}', but got { in 'reader', line 54, column 30: - {key: /test/{id}, id: 123} ^ at org

2020-07-06 15:37:12 5780

原创 Java8日期计算:获取两个日期之间的所有日期

Java8日期计算:获取两个日期之间的所有日期现在有个需求–求出两个日期之间的所有日期,包括起止日期,那么我们用Java8的LocalDate怎么方便简单的计算呢?其实很简单,求出两个日期之间的绝对天数差,用结束时间减或用开始时间加天数,就能求出时间段内的所有日期。现在不建议用Calendar来进行日期操作,原因如下Calendar性能不如LocalDate,不是线程安全的类Calen...

2020-04-13 14:13:07 4522 2

原创 Java如何处理前端传过来的Base64图片

public static void main(String[] args) { //前端传过来的Base64转码过的图片码 String data = "/9j/4AAQSkZJRgABAQIAHAAcAAD/2wBDAAMCAgMCAgMDAwMEAwMEBQgFBQQEBQoHBwYIDAoMDAsKCwsNDhIQDQ4RDgsLEBYQERMUFRUV...

2019-10-15 19:44:19 6300 1

原创 JDBC获取表名以及表相关字段名

public static void main(String[] args) throws Exception { String url = "jdbc:mysql:; String user = "root"; String password = "root"; Class.forName("com.mysql.jdbc.D...

2019-10-09 15:23:56 644

原创 JDK1.8LocalDate计算两个时间的天数差

package JDK8Date;import java.time.Clock;import java.time.LocalDate;import java.time.LocalDateTime;import java.time.Period;import java.time.temporal.TemporalAdjusters;public class LocalDateDemo...

2019-07-15 17:43:41 4276

原创 使用Nginx解决跨域问题,Java实现

跨域是前端开发中经常会遇到的问题,前端调用后台服务时,通常会遇到 No ‘Access-Control-Allow-Origin’ header is present on the requested resource的错误,这是因为浏览器的同源策略拒绝了我们的请求。所谓同源是指,域名,协议,端口相同,浏览器执行一个脚本时同源的脚本才会被执行。如果非同源,那么在请求数据时,浏览器会在控制台中报一...

2019-07-15 14:00:49 1733

原创 NIO学习

NIOBuffer两个buffer相等,当且仅当剩余内容相同可以批量传输, 将一个数组作为get的参数,这个数组的大小不能超过缓冲区剩余的内容mark() 将 mark 设为 position reset() 将position设为 markchar[] zwt = "zwtmylove".toCharArray();buffer.put(zwt);CharBuffe...

2018-11-13 10:27:16 141 1

原创 Redis设计与实现知识点记录

Redis 数据结构SDS简单动态字符串struct sdshdr {​ int len;//记录已使用的长度​ int free;//记录未使用的长度​ char buf[]//保存字符串}优点:可以直接获取字符串的长度,O(1)复杂度可以杜绝缓冲区溢出(可能会把别的字符串覆盖掉),先扩容,在修改扩容会申请额外的内存空间,如果SDS的长度小于1M,那么扩容为以前的2倍,如果...

2018-11-02 14:05:11 564

原创 秒杀和抢单系统的设计思路

抢单设计系统启动,将当天的Express加入到Redis,设置过期时间一天订单更新,将之前的key过期,插入一条新的有人抢单,添加分布式锁,将该key过期mq更新mysql,创建订单秒杀设计系统启动,将商品信息加入redis加Redis分布式锁,对Redis数量进行更新,如果小于0返回失败,如果大于0进行下一步将消息发送到mq,更新mysql,创建订单出现的问...

2018-10-31 18:22:06 11170 1

原创 10月17号小米面经

10月17号小米面经一面讲小项目和实习进程线程区别TCP/UDP区别说说熟悉的数据结构,写了个简单程序,从各个角度分析,比如编译原理,操作系统,还提示说,这头文件是干啥的,using namespace std是干啥的,还有一个for循环汇编怎么执行的。计算机的存储结构,123级缓存,内存硬盘,为什么要这样设计32位内存最大多少,物理内存只有1G,逻辑地址可以有4G怎么实现的。...

2018-10-31 10:10:05 285

原创 HTTP知识点记录

Http头Http1.0没有长链接, Http1.1默认长链接,是为了避免不断的建立链接,断开链接的消耗,并且可以不得到确认继续请求,提交响应速度。Http分为请求报文和相应报文请求报文报文首部请求行请求首部字段通用首部字段实体首部字段其他空行报文主体响应报文报文首部状态行响应首部字段通用首部字段实体首部字段其他空行报文主体...

2018-10-31 10:04:54 164

原创 Java后台秋招总结

终于结束秋招了,之前浪费了贝壳,美团,京东的机会,感觉还是准备的有点晚。心得体会就是面的越多,知道自己的缺陷就越多,自己在哪方面还需要进一步加强学习,准备的才可以更充分。所以一开始的面试失败,不要灰心,沮丧,这些都是经验,要知道累计到一定程度,就能在之后的面试屡战屡胜。基础要扎实,最起码的一些类似笔试题的题目一定不能答错,比如String a = “123”, String b = new ...

2018-10-02 10:35:37 447

原创 Jvm学习

Java对象在内存中 三部分 头部信息, 实例数据, 对齐补充句柄访问,直接指针1.句柄访问是 定义一个指针表 一个包含类型的实例地址,一个包含类型的类型地址2.直接指针是 直接就能访问实例地址,然后在获取类型信息方法区 类名, 访问修饰符,常量池,字段描述,方法描述不可达意味着该对象可以被回收复制删除 标记整理JVM模型程序计数器指向程序执行的字节码地址,如果正在执行的是...

2018-09-23 18:46:09 358

原创 RabbitMq配合Redis的小Demo以及对RabbitMQ发布模式的理解

安装好RabbitMq后,配合Spring使用RabbitMq 引入依赖 &lt;!--rabbit mq--&gt;&lt;dependency&gt;    &lt;groupId&gt;com.rabbitmq&lt;/groupId&gt;    &lt;artifactId&gt;amqp-client&lt;/artifactId&gt;    &lt;versio...

2018-09-19 15:56:57 1314

原创 Java判断两个Date/时间戳 对象是否是同一天

最近有个需求是判断在创建新对象的今天之前已经创建了这个对象,如果是昨天创建的,则正常;通过Calendar来获取date对象的年份和在该年份中第几天,然后比较这两个信息来判断是不是同一天SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");Date date = format.parse("2018-...

2018-09-17 17:22:55 9917 3

原创 Kafka+zookeeper安装配置启用并整合SpringBoot实现生产消费

Linux Kafka配合zookeeper启动并整合SpringBoot 下载kafka,我下载的是kafka_2.12-1.0.0.tgz,所以pom添加依赖的时候也要添加对应的jar包 下载zookeeper 解压,首先启动zookeeper,修改zookeeper/conf下面的zoo_sample.cfg, 修改里面的dataDir=/opt/zkdata(举例),将这个文...

2018-09-04 10:37:59 6944 6

原创 大厂Java面试题目总结

基础篇 String为什么要设计成Final String StringBuffer StringBulider的区别 你能给我写一个final对象吗 重写hashcode()方法 java 序列化 你能给我写个单例模式吗?你这个如果要是被反射或者序列化破坏单例该怎么办? Java io流体系结构 BIO、NIO和AIO的...

2018-08-25 11:06:02 10343 2

原创 8个Lambda表达式的练习题目及其答案

摘自Java8实战 Trader raoul = new Trader("Raoul", "Cambridge"); Trader mario = new Trader("Mario","Milan"); Trader alan = new Trader("Alan","Cambridge"); Trader brian

2018-07-27 11:27:40 9306 5

原创 Docker中使用Centos镜像安装tomcat,jdk1.8部署Java web项目

1. docker pull centos获取centos镜像2. 后台运行centos镜像并开放8080端口,window端可通过访问80端口访问到8080端口docker run -itd -p 80:8080 docker.io/centos3. 从宿主机拷贝文件到容器        拷贝方式为:        docker cp 宿主机中要拷贝的文件名及其路径 容器...

2018-07-26 11:40:48 8249

原创 Docker部署java web项目

1.获取centos镜像 docker pull centos2. 后台运行centos镜像并开放8080端口,window端可通过访问80端口访问到8080端口docker run -itd -p 80:8080 docker.io/centos3. 从宿主机拷贝文件到容器 拷贝方式为:        docker cp 宿主机中要拷贝的文件名及其路...

2018-07-26 11:29:00 826

原创 Spring AOP面向切面编程一个简单例子和在配置过程中出现错误

package soundSystem;//定义CD接口ipublic interface CompactDisc { void play(); void playTrack(int i);}定义空CD类,继承CDpackage soundSystem;import org.springframework.stereotype.Component;import jav...

2018-03-27 13:57:35 829

原创 使用Spring Boot搭建个人博客遇到的问题

SpringBoot项目的云服务器部署地址:http://blog.csdn.net/wchstrife/article/details/76725317SpringBoot项目的云服务器部署 http://blog.csdn.net/zhangxing52077/article/details/73008359主要内容:pom.xml添加或者修改&lt;build&gt; &lt;fin...

2018-03-18 22:10:39 393

原创 SSH员工管理系统记录错误

1.在Struts标签结束时少了结束符,或者缺少'/&gt;'如:&lt;s:property value="currPage" &gt;  缺少'/'的错误&lt;s:property value="curr_name"/ &gt; 正确结束错误信息:tag s:property must be empty, but is not2.&lt;frameset&gt;&lt;/frameset&g

2018-03-15 09:20:52 167

原创 学习Java IO 流找到的几个比较好的文章

InputStreamReader和BufferedReader用法及真实案例 JAVA基础知识之IO——Java IO体系及常用类摘要一部分方便自己以后的学习:InputStream:得到的是字节输入流,InputStream.read("filename")之后,得到字节流Reader:读取的是字符流InputStreamReader:从字节到字符的桥梁。InputStreamReader(I...

2018-03-10 16:49:08 188

转载 Linux学习之CentOS7安装Mysql5.7直接覆盖Mariadb

在使用CentOS想要安装Mysql,如果下面的命令yum -y install mysql那么,CentOS就会为你自动安装MariaDB,虽然也是Mysql的一个分支,但我们更习惯用Mysql于是开始下面的操作:1 下载并安装MySQL官方的 Yum Repository[root@localhost ~]# wget -i -c http://dev.mysql.com/get/mysql...

2018-03-10 15:19:21 2072 1

空空如也

空空如也

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

TA关注的人

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