- 博客(39)
- 收藏
- 关注
原创 使用多线程(线程池ThreadPoolExecutor读取多个文件、计算多个文件总行数)小demo
包括 ThreadPoolExecutor、CountDownLatch、Callable、RandomAccessFile、Nio1.使用多线程读取多个文件。2.使用多线程获取多个文件的行数后计算几个文件的总行数。
2022-06-06 23:59:05
1215
2
原创 Redis的杂七杂八
一、SDS1.空间预分配空间分配用于优化SDS的字符串增长操作:当SDS的API对一个SDS进行修改并且需要对SDS进行空间拓展的时候,程序不仅会为SDS分配所必须的空间还会有额外的未使用的空间,额外未使用空间大小遵循如下规则:如果对SDS进行修改之后,SDS的长度(len属性值)小于1MB,则程序分配和len属性同样大小的未使用空间,此时SDS的len属性将和free属性相同。例:进行修改后SDS的len将变成13字节,那么程序也会分配13字节的未使用空间,SDS的buf数组长度将变成13(len
2022-06-06 23:52:26
175
原创 MySQL报Column 时间戳字段 cannot be null
报错信息大致如下java.sql.SQLIntegrityConstraintViolationException: Column ‘xxx’ cannot be null;其中xxx字段为个timestamp(6)我们自己的生产上是正常的,客户独立部署报了上面的错误。 执行insert语句时违反完整性约束。查看代码近期没有被修改过,最终锁定到数据库配置这里通过对比我们和客户的配置发现执行下面的语句时SHOW GLOBAL VARIABLES LIKE '%explicit_default
2022-02-15 10:41:52
2214
原创 Spring事务失效的总结
事务失效1. final/static修饰方法Spring事务使用AOP,通过CGLIB或JDK动态代理生成代理类,使用final/static修饰方法会导致无法动态代理,继而导致事务失效。2. 使用非public修饰符修饰事务方法定义了错误的访问权限(非public修饰)就会使事务失效。protected TransactionAttribute computeTransactionAttribute(Method method, @Nullable Class<?> targetC
2022-02-14 14:52:12
944
3
原创 Java集合中的一些细节
集合ListArrayListadd()方法可以添加null,而且可以添加多个nullArrayList底层结构和源码ArrayList中维护了一个Object类型的数组elementData。// transient瞬间的,短暂的 使用transient修饰表示该属性不会被序列化transient Object[] elementData;当创建ArrayList对象时,如果使用的是无参构造方法,则初始elementData容量为0,第一次添加数据,则扩容elementDat
2021-06-01 09:53:56
111
原创 几个MySQL中容易忽略遗忘的点
MySQL备份与恢复数据库备份:图形化界面用久了就经常容易忘了命令怎么写dos窗口下输入mysqldump -u root -p -B databaseName1 [databaseName2 databaseNamen] > d:\\bak.sql表备份mysqldump -u root -p databaseName tableName1 [tableName2 tableNamen] > d:\\bak.sql恢复mysql中输入source d:\\bak.sql
2021-06-01 09:30:50
117
原创 Java反射小总结
反射相关Class类分析Class也是类,因此也继承Object类Class类对象不是new出来的,而是系统创建的对于某个类的Class对象,在内存中只有一份,因为类只加载一次每个类的实例都会记得自己是由哪个Class实例所生成通过Class可以完整地得到一个类的完整结构Class对象是放在堆内存中的类的字节码二进制数据,是放在方法区的,有的地方也称为类的元数据Class类常用方法String classpath = "com.xxx.Person";// 获取Person类对应的
2021-05-27 09:41:14
198
2
原创 synchronized小总结
synchronized关键字:互斥锁互斥锁:Java语言中,引入了对象互斥锁的概念,来保证共享数据操作的完整性。每个对象都对应于一个可称为"互斥锁"的标记,这个标记用来保证在任一时刻,只有一个线程访问该对象。关键字synchronized来与对象的互斥锁联系,当某个对象用synchronized修饰时,表明该对象在任一时刻只能由一个线程访问。同步的局限性:导致程序的执行效率要降低。同步方法(非静态的)的锁可以是this,也可以是其他对象(要求是同一个对象)。同步方法(静态的)的锁为当前类本
2021-05-27 09:33:11
106
原创 Java虚拟机-JVM高级特性 读书学习总结 持续更新
目录第二部分 自动内存管理第二章 Java内存区域与内存溢出异常1.运行时数据区域1.1程序计数器1.2Java虚拟机栈1.3本地方法栈1.4Java堆1.5方法区1.6运行时常量池1.7直接内存2.HotSpot虚拟机对象探秘2.1对象的创建第二部分 自动内存管理第二章 Java内存区域与内存溢出异常1.运行时数据区域1.1程序计数器每条线程都需要有一个独立的程序计数器,各条线程之间的计数器互不影响,独立存储,这类内存区域被称为**“线程私有”的内存**特点:线程私有1.2Java虚拟机
2021-05-24 10:31:34
179
2
原创 在使用vue-element开发时遇到的需求、问题,对应的解决方案。
1.如何动态添加/删除某个表单项如上图,点击加号就会生成一行表单,第一行不可以删除,不显示删除按钮,从第二行开始显示删除按钮。(需要注意的是目前实现的功能暂不支持从中间插入一行,比如你在第一行和第二行之间想插入一行,点击第一行的添加按钮,新的一行永远是加在最后的)解决方案:<div v-for="(item, index) in temp.applyItem" :key="'applyItem'+index"> <el-card class="box-card ml
2021-03-30 13:44:44
764
原创 SpringBoot整合JPA做查询时报的一个错com.fasterxml.jackson.databind.exc.InvalidDefinitionException
ERROR 7508 — [nio-8088-exec-1] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.springframework.http.converter.HttpMess.
2020-10-04 22:45:46
291
原创 SpringCloud学习笔记16——高级篇之SpringCloud Alibaba Sentinel实现熔断与限流
8.SentinelResource配置①按资源名称限流(1)新建controllerpackage com.hry.springcloud.alibaba.controller;import com.alibaba.csp.sentinel.annotation.SentinelResource;import com.alibaba.csp.sentinel.slots.block.BlockException;import com.hry.springcloud.entities.Com
2020-07-12 22:46:16
371
原创 SpringCloud学习笔记15——高级篇之SpringCloud Alibaba Sentinel实现熔断与限流
四.Sentinel1.知识点官网主要特性2.下载点击这里下载运行进入目录,cmdjava -jar sentinel-dashboard-1.7.2.jar用户和密码都是sentinel3.构建项目(8401)①创建module②编写pom文件 <dependencies> <!-- nacos --> <dependency> <groupId>com.ali
2020-07-10 10:56:50
350
原创 SpringCloud学习笔记14——高级篇之SpringCloud Alibaba Nacos服务注册和配置中心
高级篇一.Nacos1.知识点nacos = eureka + config + bus①下载点击这里,下载1.2.1版本②运行下载后解压,进入bin目录,打开cmdhttp://localhost:8848/nacos/用户名和密码都是nacos2.构建项目(provider9001)①创建module②编写pom文件<dependencies> <!-- nacos --> <dependency>
2020-07-08 21:41:18
352
原创 SpringCloud学习笔记13——初级篇之分布式请求链路跟踪
十一.Sleuth1.知识点2.Zipkin①下载jar包SpringCloud F版以上不需要自行构建Zipkin Server了,只需要调用jar包即可。点击这里下载jar包②运行java -jar zipkin-server-2.21.5-exec.jar访问9411③构建(1)修改老8001pom文件中引入坐标<!--sleuth + zipkin--> <dependency> <gro
2020-07-06 17:38:51
167
原创 SpringCloud学习笔记12——初级篇之消息驱动
十.Stream1.知识点INPUT -> 消费者OUTPUT -> 生产者Stream中的消息通信方式遵循了发布-订阅模式2.构建项目(8801消息生产者)①创建module②编写pom文件<dependencies> <!--Stream-RabbitMQ--> <dependency> <groupId>org.springframework.cloud&l
2020-07-06 16:38:36
204
原创 SpringCloud学习笔记11——初级篇之消息总线
九.Bus消息总线1.知识点Bus支持两种消息代理:RabbitMQ和Kafka2.安装RabbitMQ①下载和安装erlang点击这里安装时常规下一步就行,选D盘②下载和安装RabbitMQ点击这里选D盘其他下一步。安装好了之后进入RabbitMQ下的sbin目录,打开cmd输入rabbitmq-plugins enable rabbitmq_management这样就行了点击start启动访问15672,默认用户名密码是guest登录进来3.Spri
2020-07-05 15:27:11
157
2
原创 SpringCloud学习笔记10——初级篇之分布式配置中心
八.Config分布式配置中心1.知识点2.在GitHub创建新的repository使用GitHub桌面版创建 ,具体可以参考我的另一篇文章点击这里或者访问链接https://blog.youkuaiyun.com/qq_41015977/article/details/1012139603.构建项目(服务端3344)①创建module②编写pom文件<dependencies> <!-- config --> <d
2020-07-04 21:56:36
220
原创 SpringCloud学习笔记9——初级篇之服务网关
七.SpringCloud Gateway1.SpringCloud Gateway知识点2.SpringCloud Gateway三大核心概念①Router路由路由是构建网关的基本模块,它由ID,目标URI,一系列的断言和过滤器组成,如果断言为true则匹配该路由②Predicate断言参考的是Java8的java.util.function.Predicate开发人员可以匹配HTTP请求中的所有内容(例如请求头或者请求参数),如果请求与断言相匹配则进行路由③Filter过
2020-07-04 14:28:10
270
原创 SpringCloud学习笔记8——初级篇之服务降级
5.使用全局服务降级@DefaultProperties(defaultFallback = “”)注解解耦可以看到fallback方法是一对一的,如果每个方法都跟一个与之匹配的fallback方法,会造成冗余,而且代码会膨胀,于是引出一个@DefaultProperties给出缺省的方法,这样没有指定的方法默认会调用@DefaultProperties中指定的方法,而指定fallback方法的还是会调用指定方法,不会调用缺省方法。这样,通用的和独享的各自分开①修改80的controller@Def
2020-07-03 21:32:14
632
原创 SpringCloud学习笔记7——初级篇之服务降级
六.HystrixHystrix官方宣布,停止更新,进入维护阶段,但Hystrix非常优秀,属“业界标杆”1.Hystrix断路器知识点能做的事:服务降级、服务熔断、接近实时的监控等。①服务降级fallback服务器忙,稍后再试。不让客户端等待并立刻返回一个友好提示。②服务熔断break达到最大服务访问后,直接拒绝访问,调用服务降级的方法并返回友好提示。③服务限流flowlimit秒杀高并发等操作,严禁一窝蜂拥挤,大家排队,一秒钟限制N个,有序进行2.构建项目先确定7001为单机
2020-07-02 20:18:26
260
原创 在Windows下使用Zookeeper
1.下载点击这里下载。在跳转后的下载页面点击红框处下载下载后解压,目录结构如下图所示。在bin目录有个zkServer.cmd,首次运行会报错解决错误1:一般我们的JAVA_HOME路径不会出错,所以我们不考虑自己配置的问题。右键使用vs code或者记事本打开目录中的zkEnv.cmd找到第42行修改为set JAVA_HOME="D:\Program Files\Java\jdk1.8.0_231"修改之后别忘了ctrl+s保存解决错误2:我们返回到上一级,进入
2020-07-01 13:13:15
648
1
原创 SpringCloud学习笔记6——初级篇之服务调用
五.OpenFeign1.OpenFeign知识点2.构建项目(订单模块)①创建module②修改pom文件<dependencies> <!-- openfeign --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud
2020-06-29 16:46:27
178
原创 SpringCloud学习笔记5——初级篇之服务调用
服务调用四.Ribbon1.Ribbon知识点Ribbon是用于负载均衡的客户端工具,很遗憾目前官网宣布rRbbon已进入维护状态一句话总结:Ribbon = 负载均衡 + RestTemplate调用2.getForObject和getForEntitygetForObject返回对象为响应体中数据转化成的对象,基本上可以理解为JsongetForEntity返回对象为ResponseEntity对象,包括了响应中的一些重要信息,比如响应头、响应状态码、响应体等①修改老o
2020-06-29 00:05:07
220
原创 SpringCloud学习笔记4——初级篇之服务注册中心
8.actuator微服务信息完善完善前:Status中为主机和服务名。完善后:只暴露服务名不暴露主机名,且显示IP地址①修改8001的yml文件eureka下添加如下配置eureka: instance: instance-id: payment8001 prefer-ip-address: true②修改8002的yml文件instance: instance-id: payment8002 prefer-ip-address: true③测试
2020-06-27 20:44:14
274
原创 SpringCloud学习笔记3——初级篇之服务注册中心
@初级篇当服务很多时,单靠代码手动管理是很麻烦的,需要一个公共组件,统一管理多服务,包括服务是否正常运行等。一.Eureka1.Eureka知识Eureka用于服务注册,目前官网已经停止更新。①服务治理SpringCloud封装了Netflix公司开发的Eureka模块实现服务治理。在传统的RPC远程调用框架中,管理每个服务与服务之间依赖关系比较复杂,所以需要使用服务治理,管理服务与服务之间依赖关系,可以实现服务调用、负载均衡、容错等,实现服务发现与注册②服务注册Eureka采用了C/
2020-06-25 01:02:03
267
原创 SpringCloud学习笔记2——入门篇
三、构建项目(订单模块)1.创建module创建过程同支付模块,选择Maven工程,JDK1.8,不勾选Maven原型。2.修改pom文件打开module order80的pom文件,添加如下依赖:<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spri
2020-06-23 22:36:02
250
原创 SpringCloud学习笔记1——入门篇
搭建项目一、准备工作1.使用IDEA创建Maven父工程2.设置ctrl+alt+s打开设置①配置字符集编码②配置注解生效激活③配置Java编译版本④文件类型过滤(可选)3.修改项目①删除src目录,使项目只保留pom.xml删除前删除后②修改pom文件先添加如下内容<packaging>pom</packaging>如图然后将之后的内容使用如下内容替换<!--统一管理jar包版本--> <propert
2020-06-21 23:40:31
229
原创 在IDEA中设置 live template实现自定义代码补全触发词
ctrl+alt+s打开设置,然后进行如下操作 展开Editor–选择Live Template–点击右侧“+”号–选择“2 Template Group”然后可以按照自己的想法起名,比如我起名为“Java”选中刚刚新建的Group ,“Java”-- 右侧点击“+”号–选“1 Live Template”1.预定义变量使用然后编辑$ start $ 和 $ end $为预定义变量我们还可以自定义点击最下方的 “Define” 定义在什么代码模板中使用你定义的这个触发关键字。勾选Ja
2020-06-21 16:44:18
869
原创 某科技笔试程序题
第一题小明的女朋友最喜欢在网上买买买了,可是钱包里钞票有限,不能想买啥就买啥。面对琳琅满目的物品,她想买尽可能多的种类,每种只买一件,同时总价格还不能超过预算上限。于是她请小明写程序帮她找出应该买哪些物品,并算出这些物品的总价格。输入规范:每个输入包含两行。第一行是预算上限。第二行是用空格分隔的一组数字,代表每种物品的价格。所有数字都为正整数并且不会超过10000。输出规范:对每个输入,输出应买物品的总价格。输入示例1:10050 50输出示例1:100输入示例2:18850 4
2020-05-28 13:00:58
605
原创 解决SSM框架提交数据到数据库中文乱码的问题
下面是SSM常见的中文乱码解决方式。如果确定是在提交到数据库时出现的中文乱码错误参考第三条就好了,如果还不行就都看看,看看自己哪里出问题了。1、在web.xml中添加filter标签 -- 解决post乱码 <!--解决post中文乱码的过滤器--> <filter> <filter-name>characterEncodingFilter</filter-name> <filter-class>org.sp.
2020-05-08 17:46:48
1354
原创 解决SpringBoot整合Mybatis时yml配置文件中 com.mysql.jdbc.Driver报错爆红的问题
打开pom文件,找到mysql依赖,找到<scope>runtime</scope>把它注释掉就好了,原因:他是指定了运行时才会用到,而我们是在编译过程中找不到mysql相关依赖所以会报错,把他注销,他就默认编译时也可以用了好了!...
2019-10-16 15:59:31
2940
2
原创 使用GitHub桌面版把自己的项目上传到远程仓库
1.下载与安装打开浏览器搜索github desktop,进入官网点紫色的按钮下载运行.exe.可执行文件,进行傻瓜式一键安装,安装完成后登录你的账户如果你还没有GitHub账户,点击这里注册一个账户注册好了登录,看到下面的界面Ctrl+N(或者点击上方的File–New repository),弹出弹框xxx...
2019-09-30 11:48:00
2508
5
原创 idea配置tomcat并部署项目
如果你没有tomcat请移步至官网自行下载或者百度云链接https://pan.baidu.com/s/1RONU2YJ50w0uFV4P_Y0C9g提取码:1ktu下载好解压到D:\Program Files\Apache打开idea 新建Java项目–右侧JavaEE菜单下勾选Web Application,记得下面的Create web.xml如果没打勾一定要勾上然后N...
2019-09-30 10:44:27
1954
原创 GitHub Desktop提交时报错误代码128
使用GitHub Desktop新建本地仓库提交后报错Commit failed - exit code 128 received with output临时的解决办法可以是打开本地仓库的路径,找到隐藏文件.git,加入你的name和email在GitHub Desktop菜单栏点击Repository – show in Explorer进入本地仓库路径,然后找到.git文件夹双击进...
2019-09-29 18:16:48
1393
1
原创 C++开发工具IDE,visual studio的安装
微软的vs可谓是重量级ide,支持很多语言,如果电脑配置一般或者需要一个轻便小巧的C++开发工具,可以去搜索code blocks第一步当然是去官网下载打开浏览器搜索进官网,然后选择合适的版本下载,如下图的,自己玩社区版足够,免费好用,登录微软账号就可以免费用点击下载,下载好了双击运行同意–继续如果提醒你缺东西按照提示操作就好这里按需选择,用到啥就选啥只用C++编个代码啥...
2019-09-29 17:58:02
676
原创 IntelliJ IDEA 2018.2安装 for Windows
1、下载不多说,直接甩链接,下载里面的ideaIU-2018.2.3.exe链接:https://pan.baidu.com/s/1ojVJ3JHkVHdIivVvgdUZLg提取码:6sin2、安装双击ideaIU-2018.2.3.exe安装idea这一步选择你的安装路径,建议选择C盘之外的盘,避免占用系统盘空间。我选择安装在D盘,不需要点击Browser,只需要用鼠标选中C...
2019-09-23 14:06:45
1719
2
原创 maven的安装配置 for Windows
本篇文章主要介绍如何下载并配置maven1.下载打开浏览器,在搜索栏输入maven,找到官网的链接,点进去。找到Download,单击找到apache-maven-3.6.2-bin.zip 点击,进行下载下载完成后把它解压到一个地方,比如解压到D:\Program Files\Apache2.添加环境变量回到桌面,在此电脑右键-属性进去之后 点高级系统设置点击环...
2019-09-09 23:52:20
294
原创 Java,jdk的安装与配置 for Windows
初学Java,如何搞定各种环境的配置,看了这篇文章轻松搞定。本文以JDK8为例演示配置过程。1首先去下载和安装JDK如果你比较懒,直接百度网盘下载我压缩好的。下载后解压放到D盘(只要不是C盘就好)链接:https://pan.baidu.com/s/1BjdQKBBsqpkjvQNnzLFC3g提取码:ts1v或者通过官网下载JDK并安装,官网地址下载地址如下https://ww...
2019-09-02 17:43:07
264
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人