自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(59)
  • 资源 (1)
  • 问答 (1)
  • 收藏
  • 关注

原创 使用IDEA启动项目,build时出现OOM相关异常 —— 个人问题记录

在使用idea启动项目时,即使使用参数设置了很大的JVM内存,但在项目构建时,仍会出现OOM异常,这一般是由于idea限制了项目构建时的heap size导致的,可以按需将这个数值调大。参数位置:setting > Build,Execution,Deployment > Compiler > Shared build process heap size(Mbytes)

2022-09-19 18:48:38 1784 1

原创 Java对象创建流程 —— 个人学习记录

根据GC回收策略(主要看回收过后内存是否连续),进行连续内存分配或者根据内存空间的空闲列表进行内存分配,若对象起始内存地址不为8字节倍数的会补齐做对齐填充。(PS:如果是句柄引用的堆栈对象对应方式,还会在堆中的句柄池中创建相应指向对象的指针)

2022-09-09 21:01:40 186

原创 JAVA开发规范当中容易忽视的规则记录 —— 个人知识点记录

26.在使用java.util.stream.Collectors类的toMap()方法转为Map集合时,一定要使用含有参数类型为BinaryOperator,参数名为mergeFunction的方法,否则当出现相同key值时会抛出IllegalStateException异常。24.获取月份时,为0-11,和常识不同,使用枚举类不易出错,其他情况我们也应该注意,为不明确的数字参数提供见名知意的枚举类。27.判断所有集合内部的元素是否为空,使用isEmpty()方法,而不是size()==0的方式。

2022-09-06 20:21:36 297

原创 逆天BUG记录 —— 永远都有符合条件的元素

最近在工作中交接到了新业务,在调试程序的过程中发现了很多BUG,这里记录一下其中一个比较离谱好玩儿的。

2022-05-30 10:40:49 123

原创 spring 容器中bean的扩展点记录 —— 个人学习记录

在spring容器创建bean的生命周期中,存在很多个可以让我们扩展的口子1.拿到beanFactory使用beanDefinition创建bean之前,通过实现BeanFactoryPostProcessor接口可以拿到beanFactory,也就是说可以通过beanFactory修改所有beanDefinition的信息。2.在bean初始化完成之前可以通过实现Aware相关接口注入一些组件,如ApplicationContext。3.bean初始化完成前后,可以通过BeanPostProcess

2022-05-11 11:27:38 162

原创 linux常用操作【持续更新】 —— 个人工作总结

因为在日常工作当中经常会有到线上环境查问题的场景,这个时候是需要知道很多有用的linux命令的(而我认为我们开发人员对于linux命令主要需要记忆的点在于需要知道linux可以让我们做些什么,而不是这些命令具体如何去使用,因为命令如何使用不管是-h还是谷歌百度,只需要知道你想要做什么就可以查到了,所以开个博客总结一下工作过程当中遇到的一些linux命令可以做的事情)1.cd 切换当前路径2.cp 复制文件3.top 显示该实例的负载、进程cpu使用情况、内存占用情况4.iostat 查看该实例的io

2022-04-29 17:59:13 1947

原创 ThreadLocal个人理解及内存泄漏理解 —— 个人学习记录

我理解中的threadlocal其实还是很清晰的,可能看起来很简单在一个Thread中,有一个threadLocalMap,而一个threadLocalMap中,有很多个Entry,Entry的键为ThreadLocal,值为Object,在使用threadLocal的get方法时会按照泛型进行类型转换。可以用一张图来形容他们的存储关系,Threadlocal模型:而我们在调用时,new了一个ThreadLocal,存入值时,实际上是构造了一个Entry,存进了ThreadLocalMap中,而获取

2022-04-24 15:07:29 268

原创 锁降级:写锁降级为读锁 —— 个人学习记录

java中写锁降级为读锁的实现与作用如何实现写锁降级:writeLock.lock();try{ try{ //修改操作 ...... readLock.lock(); }finally{ writeLock.unlock(); } //读取后操作 ...}finally{ readLock.unlock();}何时使用锁降级:我认为在当前线程修改后需要读这个值时,是需要使用锁降级的,因为如果一直使用写锁,那么即使当前线程修改结束,其他线程也无法读这个值。为什么不

2022-04-23 13:11:49 354

原创 你的nginx转发配置会影响其他服务吗?—— 工作问题总结

你的nginx转发配置会影响其他服务吗?在最近的工作中需要配置nginx转发,在配置时运维问了我一个问题:你这个nginx转发会影响其他服务吗?直接给我问懵了,对于nginx,确实近期没有排上学习日程,所以弱弱的问了一下,nginx加个转发配置不是只需要reload配置文件,并不需要restart重启服务嘛,怎么会影响其他服务呢?然后运维也没回答出个所以然之后偶然间看到了一个nginx问题的解决反馈,感觉很有可能是这个问题问题:在请求nginx时,出现高峰期时段大量请求异常的情况在排查后发现,是

2022-04-22 09:48:17 3469

原创 关于为什么在传输图片时使用Base64 —— 个人学习记录

为什么在传输图片时使用Base64传输今日在查看交接来的代码时,发现同时在传输图片时使用了Base64加密后传输因为http本身是可以正确传输二进制图片的,而我写的接口也是可以直接上传二进制图片,而在查看代码以及查找资料后发现,代码之中往下游服务传输图片时使用了JSON传输,而JSON是不能直接传输二进制的,所以需要转换成Base64这样的字符串形式,但Base64本身对于安全性其实没有太大的保证,但是加密快,这里主要是用来与JSON配合使用了。...

2022-04-21 17:28:02 1462

原创 文件太大导致jvm内存溢出,针对业务实现简易的大文件(txt)拆分执行功能

在日常完成业务过程中,出现了要在内存中操作很大的txt的需求,文件每行作为一条数据,但是由于数据量很大,不能一次性拉入内存中操作,但是又需要使用hashmap进行去重,于是借鉴hashmap的源码,编写了简易的大txt分桶执行操作。BufferedFactory(写入、写出流工厂类)/** * @author cliang.griffin * @description buffered工厂类 * @date 2021/12/2 */@Slf4jpublic class BufferedFac

2021-12-17 10:20:29 445

原创 spring-security安全框架认证功能三种实现方式

1.使用配置文件实现方式spring: security: user: name: admin password: 123 roles: admin在配置文件中加入以上配置便可实现(使用中文用户名无法识别)2.使用配置类来实现@Configurationpublic class MySecurityConfig extends WebSecurityConfigurerAdapter { @Autowired private Pas

2021-08-14 16:05:48 341

原创 关于java中stream流的排序失效的记录

strings.parallelStream().filter(s -> s.length() != 2).map(s -> s + "w").sorted((x, y) -> y.length() - x.length()).collect(Collectors.joining(","));根据排序结果来看,不只是顺序没有按照传入的lambda表达式来排序,甚至每次排序结果都是不同的,后发现这里使用排序的话,就不可以使用并行流来进行操作,应当使用串行流。如下:strings.str

2021-08-05 10:50:54 2702

原创 java程序员对lambda表达式的理解

首先,lambda到底应不应该学,我认为这个问题其实没有回答。很多人会说lambda学了也不怎么用,可读性还差,但是其实至少一般的人是觉得lambda学的时候麻烦,或者有点不理解,懒得学吧,我这里的回答是,学了就算不用,但是学会某个技术肯定是没有坏处的。OK,我们来写一个例子。public static void main(String[] args) { ArrayList<Integer> integers = new ArrayList<>();

2021-08-04 16:33:19 245

原创 爬虫性质工作相关使用网站

工具地址:正则语法:https://tool.oschina.net/uploads/apidocs/jquery/regexp.htmljsonPath语法:https://blog.csdn.net/m0_38020436/article/details/94575584XPath语法:https://www.cnblogs.com/lone5wolf/p/10905339.html测试地址:正则:https://tool.oschina.net/regexjsonPath:http://w

2021-08-02 13:27:40 97

原创 springboot环境下手搓一个log

今天入职培训时,阴差阳错体验了极其简易的log开发,记录一下。抛去工厂业务等一些不必要的类,主要的类如下:MyLog日志抽象类package cn.com.wind.bdc.day5lx.log;import org.springframework.stereotype.Component;import java.util.Date;/** * 日志抽象类 * @author 梁宸 */@Componentpublic interface MyLog { void deb

2021-07-23 17:01:29 127

原创 java 自己实现的非常好用的后端给前端返回载体类DataBus

package com.lc.bean;/** * 向前端返回信息,支持链式调用 * Created by liangchen on 2020/10/28 13:58 */public class DataBus { //信息详情 private String result_msg;// 查询成功 未查询到数据 报错 //成功失败信息 private String result_code;// SUCCESS FAILED //公共通知编码

2021-07-23 10:11:46 334

原创 java jar包运行 显示没有主清单属性解决办法

maven项目解决办法在pom文件中加入以下配置<build> <finalName>JarPackageFileName</finalName> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugi

2021-07-19 11:14:25 351

原创 git pull之后覆盖了本地未提交代码解决方法

今天在pull的时候,idea或者git抽风了,什么都没有提示然后就把我本地的代码搞没了,研究了一下午,终于找到了解决办法。右键你的项目,然后选择这里点进去,就发现了新的世界。选择你需要的改动版本回退即可...

2020-11-16 16:55:17 4140 10

原创 java-多级部门自定义化实现

首先很重要的是数据库的建表CREATE TABLE `dept` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(30) NOT NULL COMMENT '部门名称', `parent_id` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '父级部门id,0为顶级部门', `state` int(11) unsigned DEFAULT '1' COMMENT

2020-11-11 09:22:01 565

原创 使用poi解析doc、docx、ppt、pptx、txt、pdf中的文字与图片。

引入依赖 <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>3.8</version> </dependency> <dependency>

2020-09-28 14:59:18 645

原创 使用POI解析出word文件中的文字与图片

引入依赖 <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>3.8</version> </dependency> <dependency>

2020-09-28 13:14:24 1206

原创 redis的常见命令

redis语句------------------------key与string-------------------------------set k1 v1 (插入语句)select 0-15 (选择使用一个库)flushdb (清空一个库)flushall (清空所有库)exists k1 (查询是否有当前key)move k1 2 (将当前键值对移到另外一个库中)keys * (显示所有key)ping

2020-07-29 18:11:31 91

原创 SpringBoot编写自定义的stater

1.首先创建一个空工程并在其中添加两个模块,一个为启动器,一个用来做自动配置2.在启动器的pom文件中引入隔壁的自动配置模块3.编写一个properties类4.编写实际的需要被注入到容器之中的类5.编写自动配置类6.编写spring.factories使自己的自动配置类生效7.将两个模块安装到maven仓库中8.编写测试类并引入启动器,并编写配置文件9.测试成功...

2020-07-28 21:18:38 478

原创 your MySQL server version for the right syntax to use near ‘LIMIT 4‘ at line 1

今天在使用pagehelper插件的时候遇到一个大坑,先上一下报错信息com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'LIMIT 4' at line 1 at su

2020-07-20 10:14:17 2535 3

原创 FileOutputStream如何在写入时换行

FileOutputStream fileOutputStream = new FileOutputStream("D:\\MyJava\\reviewSsm\\CalculatorProxy\\src\\main\\resources\\log.txt",true); fileOutputStream.write(bytes); //要从System中获取换行的字符串 String huanhang = System.getPr...

2020-07-08 18:43:21 1853

原创 AOP原理体会-编写一个proxy类

以计算机为例首先需要一个接口类,Calculator/** * @author 梁宸 * 加减乘除英文只会add,所以我就是要写add(哭腔) */public interface Calculator { /** * 加法 * @param i * @param j * @return */ int add(int i,int j); /** * 减法 * @param i * @para

2020-07-08 16:38:44 177

原创 关于IDEA,Project Structure中的modules的作用

据我观察,这个东西的作用仅限于编写代码时的提示问题,在运行时并没有实际的作用。这里的配置文件分不分开只与编写时的提示有关,就算他提示你没有这个引用只要在加载时两个xml一起加载,还是可以引用到的反之亦然(如果在modules中放到了一起,虽然编写时有提示,但是如果只加载单独的一个xml配置文件,还是会报找不到引用的bean的错误的)...

2020-07-07 11:39:18 3136

原创 利用反射编写一个强大的Servlet(解决Servlet过多问题)

如果每想服务器请求都需要写一个servlet的话,那么servlet实在是太多了,所以可以使用反射机制来编写一个BaseServlet利用反射来调用子类中的方法。BaseServlet代码如下:package com.lc.servlet;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import j

2020-07-06 22:55:31 701

原创 手写一个分页查询(基于数据库limit)

package com.lc.bean;import java.util.List;/** * 分页查询工具 */public class Page<T> { //当前页数 private Integer pageNow; //总页数 查询后计算得到 private Integer totalPage; //总记录数 private Integer totalCount; //每页显示记录数数 默认设置为4 priva

2020-07-05 17:53:29 510

原创 java.io.IOException: java.io.FileNotFoundException: (系统找不到指定的路径。)

在使用servlet完成图片的上传时发现系统找不到指定的路径没代码如下package servlet;import org.apache.commons.fileupload.FileItem;import org.apache.commons.fileupload.FileUploadException;import org.apache.commons.fileupload.disk.DiskFileItemFactory;import org.apache.commons.fileuplo

2020-07-04 22:01:42 6074

原创 编写简单代码对代理进行初步理解

ProxyTest.javaimport java.lang.reflect.Proxy;import java.util.Arrays;import java.util.Random;public class ProxyTest { public static void main(String[] args) { //声明代理类数组 Object[] objects = new Object[1000]; Integer[] integer

2020-05-11 16:57:48 175

原创 java方法重载与上转型对象

在学习方法重载时想到如果声明了一个上转型对象,那么当超类与子类作为方法参数重载时会如何调用呢?于是编写了一个玩具代码来验证了一下,发现编译器会调用声明时的参数为父类的方法。代码如下:public class ChongzaiYihuo { static class Father { } static class Son extends Father{ }...

2020-05-07 18:11:26 203

原创 String.equal()方法的实现

首先会判断方法传入的参数与this方法调用对象是否为同一个对象,如果是,则返回true;若不是,则会判断传入的对象是否为String类的一个实例(包括被继承子类的实例与被实现的实现类的实例),若不是,直接返回false;若传入的对象是String的实例,则会将该对象转为String对象并将其用char数组保存的值进行一位一位比较,如果有一位不同返回false,全部相同返回true。publi...

2020-05-03 15:19:37 488

原创 对枚举类型的分析与认识总结

今天学习了java的枚举类型,通过调试程序并阅读源码,总结如下:1>每一个枚举类型都继承自java.lang.Enum类2>每一个枚举常量都为枚举类的内部类并且继承自枚举类3>所以在每一个枚举常量也同时继承了Enum类,而在Enum类的构造方法中保存了枚举常量的name与ordinal信息4>所以我认为枚举类型实际上就是一个拥有多个继承自己本身的内部类的类似于单次套...

2020-05-03 11:30:27 193 1

原创 mybatis逆向工程中复杂查询的调用步骤(利用example)

1.创建一个EmoloyeeExample对象 EmployeeExample example = new EmployeeExample();2.调用EmployeeExample对象的createCriteria()方法得到criteria对象EmployeeExample.Criteria criteria = example.createCriteria();3.把参数传入Cr...

2020-04-27 20:36:23 455 3

原创 SSM框架后端JSR303校验的实现

第一步导入需要的依赖 <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-validator</artifactId> <version>5.4.1.Final<...

2020-04-18 14:47:43 297

原创 SSM框架-javax.el.PropertyNotFoundException: 类型[com.lc.crud.bean.Employee]上找不到属性[department]

在进行ssm框架的前端jsp页面获取数据时报如下错误javax.el.PropertyNotFoundException: 类型[com.lc.crud.bean.Employee]上找不到属性[department] javax.el.BeanELResolver$BeanProperties.get(BeanELResolver.java:260) javax.el.BeanELReso...

2020-04-08 16:49:58 850 6

原创 SSM框架-以分页查询为例构建controller层测试

第一步创建测试类,并添加所需要的注释@RunWith(SpringJUnit4ClassRunner.class)@WebAppConfiguration@ContextConfiguration(locations = {"classpath:applicationContext.xml","classpath:spring-mvc.xml"})这里第二行注释的作用是可以自动装配后来的...

2020-04-04 12:30:00 418

原创 SSM框架-mybatis分页插件的使用

第一步:引入相关依赖 <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>5.0.0</versio...

2020-04-04 11:05:26 182

MyMybatisGenerator.zip

一个超级方便的dao层、bean层、mapperXML代码生成工具。

2021-07-28

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

TA关注的人

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