- 博客(78)
- 资源 (2)
- 收藏
- 关注
原创 基于NFS方式的挂载
创建文件夹-p 的意思是如果父目录不存在则创建mkdir -p /home/test查看nfs和rpcbind状态systemctl status nfs rpcbind设置权限在文件/etc/exports,加入权限代码vi /etc/exports/home/test *(rw,no_root_squash,async)重启nfs rpcbindsystemctl restart nfs rpcbind挂载mount -t nfs 【nfs所在主
2022-03-04 17:21:27
1133
原创 Java虚拟机运行时数据区
概述Java虚拟机在执行Java程序的过程中会把管理的内存划分为若干个不同的数据区域,包括以下几个运行时数据区。程序计数器程序计数器(Program Counter Register)是一块较小的内存空间,它可以看做是当前线程所执行的字节码的行号指示器。在虚拟机概念模型里,字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令,分支、循环、跳转、异常处理、线程恢复等都依赖这个计数器完成。线程切换后为了能恢复到正确的执行位置,每条线程都...
2022-03-02 15:53:35
1602
原创 解决服务器:“java.lang.OutOfMemoryError : unable to create new native Thread”异常问题
1.问题描述:启动springboot项目时候日志打印:“服务进程申请线程数量的限制”异常2.问题分析:(1)既然报“OutOfMemoryError”,而且还是“ unable to create new native Thread.”,那么很可能是程序申请的Thread数超过了系统能够承载的限制。但是作为一台性能还不错的服务器,不应该出现系统资源不够用。(2)系统资源够用的话应该就看一下,是否超过了 OS 允许的 max user process?(3)如果上面都不对的话,推测应该是
2022-02-19 19:12:53
5403
原创 postgresql 导入数据库表id自增报错问题处理
问题情境使用postgresql,我们需要迁移表操作时,转储sql语句再重新导入就会报错,提示正在上传…重新上传取消
2021-03-23 17:38:17
4156
原创 如何通过命令设置git永久登录
第一步:cmd命令打开控制台.第二步:输入此命令,并执行. git config --global credential.helper store第三步:再次使用git pull或push,此时仍需要输入用户名密码.第四步:之后系统便记住了用户名和密码,再后使用git pull或push时,便不再需要输入用户名和密码了....
2021-03-23 17:27:40
917
原创 SpringBoot使用WebScoket(附带前端测试代码)
什么是WebScoket?WebSocket协议是基于TCP的一种新的网络协议。它实现了浏览器与服务器全双工(full-duplex)通信——允许服务器主动发送信息给客户端。为什么使用WebScoket?因为 :HTTP 协议有一个缺陷:通信只能由客户端发起,HTTP 协议做不到服务器主动向客户端推送信息。而WebScoket可以由服务器主动发送信息给客户端。应用实例:maven依赖: <dependency> <groupId>
2021-02-03 16:07:51
611
原创 Mybatis-plusu一级缓存和二级缓存
简介1.一级缓存是SqlSession级别的缓存。在数据库操作时需要构建sqlSession对象,在对象中有一个数据结构(HashMap)用于存储缓存数据。不同的sqlSession之间的缓存数据区域(HashMap)之间是互不影响的。一级缓存默认开启不用配置。2.二级缓存是mapper级别的缓存,多个SqlSession去操作同一个Mapper的sql语句,多个SqlSession可以共用二级缓存,二级缓存是跨SqlSession的。二级缓存的开启(实体类必须序列化),然后在配置文件里面配置。
2020-11-30 09:30:56
4112
原创 如何通过命令设置git永久登录
实现第一步:cmd命令打开控制台.第二步:输入此命令,并执行git config --global credential.helper store第三步:再次使用git pull,此时仍需要输入用户名密码.第四步:之后系统便记住了用户名和密码,再后使用git pull时,便不再需要输入用户名和密码了.原理会在用户主目录的.gitconfig文件中生成下面的配置。[credential] helper = store如果没有--global,则在当前项目下的.g
2020-11-18 16:01:54
1021
1
原创 PostgreSQL使用MyBatis,insert时如何返回主键
平时写MyBatis中的insert语句是这样的:<insert id="insert" parameterType="com.userDao"> insert into user (id, name) values (#{id,jdbcType=INTEFER}, #{name,jdbcType=VARCHAR}) </insert>此时Dao接口的public Integer insert(User user);返回的Integer是收到改动的行数,插
2020-11-11 16:57:01
2082
原创 spring cloud的核心组件
1.Eureka:服务注册与发现2.Ribbon:实现负载均衡,从一个服务的多台机器中选择一台*通过Spring Cloud Ribbon的封装,我们在微服务架构中使用客户端负载均衡调用只需要如下两步:服务提供者只需要启动多个服务实例并且注册到一个注册中心或是多个相关联的服务注册中心 服务消费者直接通过调用被@LoadBalanced注解修饰过的RestTemplate来实现面向服务的接口调用3.Feign:基于动态代理机制,根据注解和选择的机器。拼接请求url地址,发送请求调用其他服务接口
2020-11-02 16:16:24
181
原创 【Oracle异常处理】ORA-02290: check constraint (CUSTOMER.SYS_C00218232) violated
分析原因:数据库表有一些字段添加了非空校验(Not Null);后来发现之前非空字段中部分字段允许为空(Null),所以我就直接通过Navicat工具操作,取消了非空标记。问题处理:1.根据异常信息和网上大神的分析发现,是数据库表中的部分字段违反了检查约束,但SQL异常并未指出具体字段,所以首先要知道违反检查约束的字段有哪些,查询违反检查约束的字段:SELECT * FROM user_constraints WHERE table_name='TABLE_NAME';现在知道了所
2020-09-04 21:12:08
2471
原创 springcloud项目中Ribbon、Hystrix使超时问题处理及配置策略
首先注意!这里都是基于有 Eureka 做服务中心为前提的ribbon配置#自定义ribbon的超时时间ribbon: ReadTimeout: 5000 #处理请求的超时时间,默认为5秒 ConnectTimeout: 5000 #连接建立的超时时长,默认5秒 MaxAutoRetries: 1 #同一台实例的最大重试次数,但是不包括首次调用,默认为1次 MaxAutoRetriesNextServer: 1
2020-09-02 20:43:53
1163
原创 spring 事务问题:Transaction rolled back because it has been marked as rollback-only
问题描述:同事测试时使用异常数据,代码报错但是并不是异常产生的错误,而出现:Transaction rolled back because it has been marked as rollback-only中文翻译就是:事务已回滚,因为它被标记成了只回滚代码片段: // 我的代码 @Transactional(readOnly = true, rollbackFor = Exception.class) public String select(Stri
2020-08-11 19:51:49
27091
2
原创 Oracle连接时报错ORA-12516 TNS:listener could not find available handler with matching protocol stack
定位原因-- 以sysdba身份登陆PL/SQL sqlplus / as sysdba;-- 查看当前连接进程数SQL>select count(*) from v$process;-- 查看连接数上限SQL>select value from v$parameter where name = 'processes';-- 查询processes数量SQL> show parameter processesNAME TYPE VALUE--------------
2020-07-13 18:59:17
626
原创 如何使用@RequestBody传递多个不同对象
如果使用spring mvc同客户端通信,完全使用json数据格式,需要增加RequestBody注解,函数参数为自定义类@Controllerpublic class TestController{ @RequestMapping("\test") @ResponseBody public RetureResult test(@RequestBody User user){ return new ReturnResult(); } }这样的话,可以将接收到的json
2020-05-19 14:57:09
14379
5
原创 工作中的Apache POI 介绍
什么是 Apache POI?Apache POI是Apache组织提供的开源的工具包(jar包)结构:HSSF - 提供读写Microsoft Excel格式档案的功能。XSSF - 提供读写MicrosoftExcelOOXML格式档案的功能。HWPF - 提供读写Microsoft Word格式档案的功能。HSLF - 提供读写Microsoft PowerPoi...
2020-04-20 17:30:57
456
原创 java死锁的原因及解决办法
1.什么是死锁所谓死锁是指多个进程在运行过程中因争夺资源而造成的一种僵局,当进程处于这种僵局状态时,若无外力作用,它们都将无法再向前推进。例:如果有个线程a,按照先锁a再锁b的顺序获取得锁,在此同时又有另一个线程b,按照先锁b再锁a的顺序获取锁。2.产生死锁的原因1.系统资源不足;2.进程推进顺序不合适;3.资源分配不当;3.死锁产生的必要条件互斥使用:即当资源被一...
2020-04-17 09:05:09
1570
1
原创 Java线程池使用及详解
1.什么是线程 线程池就是提前创建若干个线程,如果有任务需要处理,线程池里的线程就会处理任务,处理完之后线程并不会被销毁,而是等待下一个任务。由于创建和销毁线程都是消耗系统资源的,所以当你想要频繁的创建和销毁线程的时候就可以考虑使用线程池来提升系统的性能。java.util.concurrent.Executors提供了一个 java.util.concurrent.Executor...
2020-04-16 09:23:04
335
原创 List使用Stream对BigDecimal求和方法
工作中经常碰到List中的对象为BigDecimal类型的,用习惯Stream后,如果用for或者iterator遍历来累加感觉很麻烦,就上网上找了一些方法,希望能帮到大家。 BigDecimal result2 = userList.stream() // 将user对象的age取出来map为Bigdecimal ...
2019-08-30 16:35:09
52660
10
原创 注解@swagger2的作用
作用:使用swagger2构建restful接口测试优点:可以生成文档形式的api并提供给不同的团队便于自测,也便于领导查阅任务量无需过多冗余的word文档如何使用第一步:配置swagger类package com.lpy;import org.springframework.context.annotation.Bean;import org.springf...
2019-08-05 19:27:12
5480
原创 注解@JsonIgnore的作用
最近新接手一个项目维护,后天明明存在传到前端时候就显示为空,坑了我好久后来看到实体类有些属性的get和set方法中有这个注解,就上网了解总结一下。希望对大家有所帮助。 使用方法:一般标记在属性或者方法上,返回的json数据即不包含该属性。 作用:在json序列化时将java 中的一些属性忽略掉,序列化和反序列化都受影响。 图 中属性在通过Json传出时就不会显示...
2019-07-17 18:45:11
3860
原创 @PostConstruct详解
定义: @PostContruct是spring框架的注解,在方法上加该注解会在项目启动的时候执行该方法,也可以理解为在spring容器初始化的时候执行该方法。 从Java EE5规范开始,Servlet中增加了两个影响Servlet生命周期的注解,@PostConstruct和@PreDestroy,这两个注解被用来修饰一个非静态的void()方法。用法:@Post......
2019-06-19 18:39:48
187411
8
原创 WebSocket入门
1.什么是WebSocket?Web Socket是一种在单个TCP连接上进行全双工通信协议。2.WebSocket的作用?WebSocket使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在WebSocket API中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。3.使用优点?能够更好的节省服务器资源...
2019-06-18 13:56:29
149
原创 MongoBD的自增原则(附源码)
1.创建MongoDB时,如果没有赋值ID,系统会自动帮你创建一个,通常会在客户端由驱动程序完成。默认ObjectId类源码:2.ObjectId使用12字节的存储空间,是一个由24个十六进制数组组成的字符串。0-3位,共4位,是从标准纪元开始的时间戳,取的是当前时间的getTime()方法除以1000接下来的3个字节,是所在主机的唯一标识符,一般是机器主机名的散列值 上...
2019-03-19 16:15:24
225
原创 Liunx下springboot启动多个解决方式
1.查看:存在的进程ps aux | grep "java -jar" | grep -v "grep"显示如下:2.杀死进程:kill -9 40543.重启springboot包:java -jar app.jar
2019-03-08 21:04:05
636
原创 IDEA中如何解决中文变为Unicode编码问题
Settings-->Editor-->File Encodings 将Global Encoding 和Project Encoding 都设置为UTF-8并勾选底端 Transparent native-to-ascii conversion。点击Apply然后点击OK即可。
2019-02-18 16:52:22
10242
2
原创 git clone 时出现Clone failed early EOF错误解决
下载项目的时候遇到了:Clone failed early EOF The remote end hung up unexpectedly index-pack failed 问题后面追加“compression=-1” 或者 “postBuffer=524288000”输入:git clone git@github.com:******/spring-framework.git c...
2019-01-16 17:57:26
11623
1
转载 .vm后缀的文件是什么?
基于java的velocity模板引擎的一种页面控制文件,你可以用文本编译器打开,能够看到他只是一些类似html的语句和一种叫VLT的语句构成的。*.vm 后缀的文件,是velocity的文件。velocity是基于java的一种页面模板引擎,支持#if #else#foreach等写法的前台文件。$link.contextPath是该引擎支持的一种默认写法,可以取得应用程序执行根路径。V...
2019-01-08 15:39:43
42541
4
原创 MyBatis出现org.apache.ibatis.executor.ExecutorException异常
最近学习一下springboot和MyBatis整合改动了以后出现了:org.apache.ibatis.executor.ExecutorException: No constructor found in com.example.springboot.model.User matching [java.lang.Integer, java.lang.String, java.lang.I...
2019-01-03 18:39:52
3270
原创 Window下安装Readis
Readis安装地址:https://github.com/MicrosoftArchive/redis/releases解压文件到C:\Redis下打开一个 cmd 窗口 使用 cd 命令切换目录到 C:\Redis 运行:redis-server.exe redis.windows.conf输入之后显示如下页面:这时候再启动另一个cmd窗口,注意不要关闭原来的,不...
2018-12-29 15:50:30
3388
原创 强大的lombok注解@Getter @Setter详解
1.为什么强大? 项目中经常使用bean,entity等类,绝大部分数据类类中都需要get、set、toString、equals和hashCode方法,尽管IDE工具都会帮我们生成。但自动生成这些代码后,如果bean中的属性一旦有修改、删除或增加时,需要重新生成或删除get/set等方法,给代码维护增加负担。而使用了lombok之后,就不需要编写或生成setter或getter等方...
2018-12-25 18:46:16
54594
3
原创 Java BigDecimal简介与用法
1.简介 float和double类型的主要设计目标是为了科学计算和工程计算。它们没有提供完全精确的结果,所以不应该被用于要求精确结果的场合。但是,商业计算往往要求结果精确,这时候BigDecimal就登场了。2.实例化BigDecimal构造方法1.public BigDecimal(double val) 将double表示形式转换为BigDecimal *不建议使用...
2018-12-19 18:19:49
533
原创 idea格式化代码快捷键不好用终极奥义
这几天发现自己Intellij IDEA ctrl+alt+L格式化代码无效设置里面按照快捷键搜索 按了 ctrl+alt+L 也没反应但是我设置的确实是默认的 ctrl+alt+L最后终于找到了问题所在 原来是开网易云音乐的锅网易云会有一个全局的快捷键ctrl+alt+L为喜欢当前歌曲,跟idea冲突 去网易云关了就好了还有QQ锁定也会为ctrl+alt+L希望能帮到大...
2018-12-17 14:02:36
1194
2
原创 JOOQ入门-DSL
1.DSL简介org.jooq.impl.DSL是生成所有JOOQ对象的主要类。它作为一个静态工厂生成数据库表达式,列表达式,条件表达式和其他查询部分。JOOQ 2.0以后,为了使客户端代码更加趋近于SQL,引进静态工厂方法。当你使用DSL,只需要简单的从DSL类引入静态方法即可。2.DSL用法DSLContext 和DSL是访问JOOQ类和功能的主要切入点。创建一个常量的字段,...
2018-12-14 15:14:07
2414
原创 List中用Stream,filter代替for循环
首先创建一个Student类public Class Student{ private Long id; private String name; ..... ....省略get和set方法 }在List<Student>中查找name为ZhangSan的对象Strudent在Java8中我们可以这样操作1.查...
2018-11-16 19:49:28
14023
2
原创 华信智原java考试题及答案
试题在上篇文章,个人答案仅供参考1-5:CABDA 6-10:DBBDB11-15:CBABD16-20:CDADA21-25:DBACA26-30:BBDBD31-35:ADACA36-40:DBAAB41-45ADADD46-50BACBB
2018-10-24 00:15:22
944
原创 华信智原java考试题及答案
华信智原java考试题1、用户设置环境变量的合法格式为()A、set path to c:\jdk1.5\binB、set classpath to c:\jdk1.5\binC、set classpath=c:\jdk1.5\binD、set classpath c:\jdk1.5\bin2、下面均为Java关键字的一组是()A、boolean,byte,long,trueB、b...
2018-10-24 00:06:03
1515
原创 DBCP 数据库连接池的实现
DBCP数据源DBCP 是 Apache 软件基金组织下的开源连接池实现,要使用DBCP数据源,需要应用程序应在系统中增加如下两个 jar 文件:Commons-dbcp.jar:连接池的实现 Commons-pool.jar:连接池实现的依赖库 Tomcat 的连接池正是采用该连接池来实现的。该数据库连接池既可以与应用服务器整合使用,也可由应用程序独立使用。在应用程序中加入dbc...
2018-10-10 18:14:37
701
原创 JDBC批量插入数据
批量操作的方式一般有两种:事务提交方式和批量处理1.使用事务提交方式:先将命令的提交方式设为false,即手动提交conn.setAutoCommit(false);最后在所有命令执行完之后再提交事务conn.commit();private String url = "jdbc:mysql://localhost:3306/test"; private String use...
2018-10-08 17:19:08
606
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人