- 博客(102)
- 收藏
- 关注
原创 Java线程池详解
这篇文章和大家讲讲Java中的线程池:常见的4中线程池:1.Executors.newCachedThreadPool();创建一个可缓存的线程池,如果线程长度超过处理需求,可灵活处理回收空闲线程,若无可回收线程,则新建线程;2.Executors.newFixedThreadPool(5);创建指定数量的线程池,可控制线程最大并发数,超出的线程会在队列中等待;3.Executors.newScheduledThreadPool(10);创建一个定长线程池,支持定时及周期性任务回收;可
2021-05-09 13:14:42 437 2
原创 redisson中的看门狗机制
redis分布式锁演示代码:public String hello() throws InterruptedException{ //获取一把锁,名称相同,就是同一把锁 RLock lock = redisson.getLock("my-lock"); //lock.lock(); lock.lock(10, TimeUnit.SECONDS);//自动解锁时间,一定要大于业务的执行时间 //问题lock.lock(10, T
2021-03-28 22:45:09 3713 8
原创 netty io.netty.util.internal.OutOfDirectMemoryError
在个自己写的代码加入redis缓存后,使用JMeter进行压力测试时出现这个问题:io在使用netty时出现的堆外内存溢出异常,这种情况一般在大并发情况下较多出现问题原因出现其的原因:springboot整合redis在2.0以后默认使用lettuce来操作redis客户端, 而他使用netty进行网络通讯的我在开发中并没有指定堆外内存,只是指定了-Xmx100m;netty如果没有指定堆外内存 ,默认使用-Xmx100m;但是,无论你将内存设置为多大,只要有足够大的并发,此异常一定会出现!(
2021-03-27 12:58:09 4996 1
原创 JMeter Adddress already in use错误解决?
在使用JMeter 压力测试时,出现了这个错误,导致异常月堆积越多首先在这里说明,这个错误并不是由于我们误操作了什么,而是因为windows本身提供的端口访问机制的问题.Windows提供给TCP/IP链接的端口为1024-5000,并且需要4分钟来循环回收他们,这便导致我们在短时间内跑大量的请求时将端口占满了.解决办法:cmd输入regedit,打开Windows的注册表,在\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip
2021-03-22 23:03:15 276
原创 elasticsearch的简单使用
elasticsearch如何像MySQL一样进行简单的增删改查等操作呢?增customer即为索引(对应MySQL数据库)external为类型(对应MySQL数据库数据库中的表)1为id(数据库表中的id)//puthttp://192.168.56.10:9200/customer/external/1如图,put请求,在携带id的情况下,多次发起请求,他会覆盖之前的id值,多次发起请求后,_version版本号会不断叠加;//POST请求http://192.168.56.1
2021-03-06 21:12:07 148
原创 了解Elasticsearch基础,这篇就够了
一:为什么要学习Elasticsearch?它是一个分布式的开源搜索和分析引擎,点击此处了解更多,它的底层使用开源库Lucene,并且,Elasticsearch对Lucene再次做了简化封装,可以直接为我们提供rest Api(只需给它发送请求即可)二: Elasticsearch 的用途是什么?Elasticsearch 在速度和可扩展性方面都表现出色,而且还能够索引多种类型的内容,这意味着其可用于多种用例:应用程序搜索网站搜索企业搜索日志处理和分析基础设施指标和容器监测应用程序性能
2021-03-05 23:14:46 180 1
原创 mapping values are not allowed here in ‘reader‘, line 37, column 16:uri: lb://guli
最近在配置网关时出现了如下错误:java.lang.IllegalStateException: Failed to load property source from location 'classpath:/application.yml' at org.springframework.boot.context.config.ConfigFileApplicationListener$Loader.load(ConfigFileApplicationListener.java:525) ~[spri
2021-02-28 21:54:17 2776 3
原创 利用sping-cloud feign进行远程调用?
1.简介远程调用RMI远程调用的主要原理是一台机上的JVM中的类或者方法需要调用另外一台机上JVM中的类或者方法.这两台机可以是跨平台的.你的SSH架构系统中,地址栏中输入URL访问,只是你在访问服务器上的JEE容器中的业务(JEE容器中执行的JAVA程序也是在JVM中运行),当你的SSH系统中的业务逻辑需要调用其他的另外一台机的EJB业务系统时(可能你现在时为了某项业务),调用纯粹是为了使用对方的相关业务处理,而你只是需要返回结果数据,那么这时候远程调用就可以做到了,RMI就是你调用了对方JEE容器里
2021-02-27 20:44:09 194 3
原创 如何编写自定义注解?
自定义校验 1)、编写一个自定义的校验注解 2)、编写一个自定义的校验器 ConstraintValidator 3)、关联自定义的校验器和自定义的校验注解如何编写校验注解,我们可以参考JSR303中的@NotBlank:他拥有三个属性://校验出错后,去此路径下去拿去错误信息,String message() default "{javax.validation.constraints.NotBlank.message}";//支持分组检验功能Class<
2021-02-09 23:33:49 1448 1
原创 Spring下编写统一的异常处理类
统一的异常处理@ControllerAdvice1)、编写异常处理类,使用@ControllerAdvice。2)、使用@ExceptionHandler标注方法可以处理的异常。第一步:抽取一个异常处理类ExceptionControllerAdvice:/***集中处理异常*///注明此异常处理类需要处理哪个包出现的异常@RestControllerAdvice(basePackages = "com.controller")/*@org.springframework.web.
2021-02-09 22:56:37 153
原创 git的简单配置
#配置用户名git config --global usr.name "自己起名字"#配置邮箱git config --global usr.email "你的邮箱"3.配置ssh免密登录https://gitee.com/help/articles/418#article-header0进入git bash;使用ssh-keygen -t rsa -C "你的邮箱"命令.连续三次回车.一般用户目录下会有id_rsa和id_rsa.pub两个文件或者cat ~/.ssh/id_rsa
2021-02-03 22:22:27 138
原创 如何使用docker下载redis并使其数据持久化?
1.下载镜像文件docker pull redis(最新版本)2. 创建实例并启动mkdir -p /mydata/redis/conftouch redis.conf //手工创建redis.conftouch /mydata/redis/conf/redis.conf/**将redis中的配置文件映射到linux的目录下,方便以后配置*/docker run -p 6379:6379 --name redis \-v /mydata/redis/data:/data \-v /m
2021-02-03 22:19:18 98
原创 docker下安装elasticsearch以及它的可视化界面
elasticsearch:非关系型数据库,常用语海量查询;kibana:它是elasticsearch的可视化界面类似于mysql和SQLyol或者navicat之间的关系1.下载镜像文件docker pull elasticsearch:7.4.2 //存储和检索数据docker pull kibana:7.4.2 //可视化检索数据2.创建实例Elasticsearchmkdir -p /mydata/elasticsearch/configmkdir -p /mydata/
2021-02-01 22:17:28 584
原创 教你快速将自己写的.py程序打包成.exe
注:Python3版本1.第一步,安装pyinstaller,打开你的dos窗口,使用安装命令:pip3 install pyinstaller如图、;等待其下载完成2.python程序想要运行,就离不开python解释器和,我们写代码时候、导入的各种包,故打包的时候会将这些都打包进去3.如图,我的c:\demo,下有个py程序,我们可以奖其打包我们在dos系统中先切换至该目录下:使用命令:pyinstaller -F 教育场景通报模板1113.py,如下图,当其出现如下图所示时即打
2021-01-06 10:03:01 387
原创 如何设置虚拟机网络?
为什么要设置网络,我们在写代码过程中,经常要从Windows系统上获取linux上的内容,或者从linux获取window上的内容,这就使得我们不得不配置网络.上一篇文章提到使用vagrant快速创建自己的虚拟机,那这种方法创建成功后,怎么修改网络配置呢?没错,不用那么麻烦,找到上篇文章中提到在C:\User/你的主机名,该目录下生成了一个vagrantfile文件,我们找到它打开在cmd命令中查看我们本机的VMware netword的IP地址,替换这里的ip替换掉这里的ip地址即可!最后一个
2021-01-03 17:30:04 284
原创 教你快速使用vagrant搭建自己的虚拟机?
1.下载vagrant:打开百度输入/:vagrant2.选择windows,点击download直接下载安装,傻瓜式下一步即可!安装完成后,重启一下自己的系统.3.视窗+R,输入cmd,回车,在dos窗口上输入vagrant,回车,出现vagrant命令提示,即表示我们安装成功!4.进入该网址,查看需要安装linux的名称:https://app.vagrantup.com/boxes/search,如下图,找到centos/7(名称多了"/")5.然后在我们的dos命令中输入va
2021-01-03 15:50:26 428 2
原创 LeetCode5--最长回文子串?
将一个给定字符串根据给定的行数,以从上往下、从左到右进行 Z 字形排列。比如输入字符串为 “LEETCODEISHIRING” 行数为 3 时,排列如下:那么将返回字符串LCIRETOESIIGEDHN;如下为实现代码:(将其想象成一个二维数组)public static String convert(String s, int numRows) { //判断行数是否为1 if (numRows == 1) return s; //找出字符串长度和行数较小的中较小的 int
2020-06-22 17:31:58 179
原创 Java实现将本地磁盘上的图片显示在img中?
上篇文章写到:基于maven的图片上传,这篇文章将介绍如何将上传后的图片显示出来!(我上传的图片在E:\test\文件夹下)具体代码如下:public static final String IMG_DIR = "E:"+File.separator+"test"+File.separator;@RequestMapping("/getAvatar/{id}") public void getAvatar(@PathVariable("id") String id, HttpSession se
2020-06-15 10:00:33 504
原创 基于Maven的图片上传(图片路径存储在数据库中)
前端代码:<input type="file" id="file" name="file"/>使用ajax将其传给后台(ajax代码):```cssfile.onchange = function(){ var formData = new FormData(); var temp = file.files[0]; if (temp){ formData.append('file',temp) im
2020-06-05 17:02:38 1577
原创 List集合源码剖析
大家都知道,List集合有三个常用子类:ArrayList:底层结构是数组。线程不安全LinkedList:底层结构是双向链表。线程不安全Vector:底层结构是数组。线程安全一、ArrayList解析首先,我们看一下ArrayList属性不难发现,底层是个数组,但数组不是定长吗?,因为ArrayList里面有自动扩容机制,所以他可以实现动态增长再看看构造方法再看看我们常用的...
2020-03-24 22:31:36 331
原创 VMware共享文件夹在虚拟机中什么位置
今天在VMware中设置了共享文件夹后,在虚拟机中老是找不见共享文件夹,尝试半天终于解决,如下:1.首先使用cd /进入根目录2.在进入mnt目录3.然后看一下这个文件夹是否东西ls,若没有,新建文件夹hgfsmkdir hgfs创建此文件4.执行vmhgfs-fuse /mnt/hgfs5.此时,在进入hgfs文件夹,cd hgfs6.最后执行ls,即可看到我们在Windows端的...
2020-03-14 19:57:57 60025 31
原创 如何给自己的Java项目添加支付宝支付功能?
好久没更新博客了,小更一下!第一步:进入蚂蚁金服,我们先要点击创建应用,进入百度,搜索支付宝开放平台登录自己的账号点击进入我的平台或开发者中心,然后点击创建应用创建应用(创建应用需要提供资料审核),耐心等待,此时我们继续自己的操作(沙箱环境下的测试),等审核沟通过后我们这边在替换审核后的信息即可!第二步:使用沙箱环境进行开发,点击研发服务这个appID很重要,我们支付时需要用到(...
2020-02-29 22:01:33 1859
原创 Java实现二叉树遍历
递归public class Tree { class TreeNode{ TreeNode left; TreeNode right; int val; } //二叉树前序遍历 public void preOrderTree(TreeNode root) { if (root != null) { System.out.println(root.val + " ...
2019-10-08 11:35:52 154
原创 Java实现求某个数以内的所有质数
最近笔试遇到好多次让求素数的问题,今天在这里总结一下:/**************************************第一种************************************/public static List<Integer> find(int n){ List<Integer> list = new ArrayList<...
2019-09-28 14:52:44 1107
原创 几种常用的排序算法(Java实现)
1.插入排序public static void insertSort(int[] a, int n) { int i, j, v; for (i = 1; i < n; i++) { //如果第i个元素小于第i-1个,则第j个向后移动 for(v=a[i],j=i-1;j>=0&&v<a[j]; j--) { a[j+1]=a[j];...
2019-09-03 22:32:13 201
原创 垃圾收集算法简介
1. 标记-清除算法思想: 算法分为:标记和清除 2部分, 首先标记所有需要回收的对象,在标记完成后统一回收所有被标记的对象,此算法是最基础的垃圾回收算法,后续的算法都是在此基础上对它进行改进,具体过程如下图:缺点: (1)效率低, 标记和清除2部分效率都不高;导致后面需要较大内存时,无法找到足够的连续内存空间不得不在提前触发一次回收操作.(2)标记清除后悔产生大量不连续的内存碎片,优点...
2019-08-14 22:46:30 133
原创 JVM中如何判断对象死亡?
在堆内存中存放的Java对象实例,就要首先判断这些对象哪些对象还"存活"着,哪些已经:“死去”,这时,出现了判断对象是否存活的2种算法: 引用计数法和可达性分析法.,下面一一道来:1. 引用计数法思想: 给每个对象中添加一个引用计数器, 每当有一个计数器引用它,计数器值就加1; 当引用失效, 计数器的值就减1; 任何时刻计数器为0的对象就是不可能再被使用的.即垃圾回收器可以回收的.优点:引用...
2019-08-14 22:13:04 257
原创 Spring简介
1. spring组成Struts 表示层 MVCSpring 业务逻辑层 IOC(DI),AOPHibernate 持久化层(数据处理层) ORM(对象-关系映射)Spring 框架本身功能很强大,我们平时做项目主要是使用 spring 的 IOC 与 AOP 完成业务层功能.但 spring 其实提供了所有层功能实现.比如表示层,我们可以选择使用springMVC,springM...
2019-08-13 10:56:30 145
原创 观察者模式简介
观察者模式有四个对象:(1) 事件源对象: 能发生事件的对象(一个或多个事件(事件集))(2)事件对象:事件源发生事件的现场信息(3)事件处理对象(接口): 委托给处理的对象(处理者最开始用矗立着接口, 接口将传给实现类)(4)观察者: 实现类/处理者事件源必须包括:(1)私有的监听者列表(2)共有的向监听者列表添加监听者的方法(3)做事情的方法(事件方法)举个例子: 假如有一个很...
2019-08-02 11:55:28 229 1
原创 单态模式简介
什么是设计模式?重构是为了改善我们的代码,那在改善的过程中我们需要一些指导思想,编码原则,编码方法,我们还需要设计模式的知识。如果把编写程序比作打仗,那设计模式就是战争中的三十六计、孙子兵法。可以把设计模式理解为编写软件的高级算法。设计模式的种类2.1 根据功能不同2.2 细分3. 单态模式普通的 Java 类可以创建无数个对象,但是有些情况下某个类我们只需要创建一个对象,并且...
2019-08-02 10:07:28 390
原创 java网络编程
Java中网络编程离不开java.net包,其中常用的类有InetAddress 和 SocketImplSocket、ServerSocket //TCP编程DatagramPacket 和 DatagramSocket//UDP编程URL、URLConnection 和 URLEncoder什么是socket: 操作系统中用于网络通信的端点.黄色为网卡驱动程序Ine...
2019-07-31 18:08:39 147 2
原创 Java之多线程简介
要了解线程,就必须了解进程,那么什么是进程?进程:程序在处理机上执行时所发生的活动叫进程,进程是执行中的程序,是活动的实体,进程是“自包容”的运行程序,有自己的地址空间,简单的说,比如我的电脑打开了ppt和word2个程序,则这就相当于2个进程.线程:线程是轻量级进程,是CPU使用的基本单元线程属于某一个进程,一个进程中拥有一个或多个线程多个线程共享同一个进程资源 多任务处理有两类...
2019-07-30 22:56:41 171
原创 java输入输出流
1.首先,什么是i/o流?I/O流用来完成java的输入输出工作,包括磁盘文件、设备、其他程序以及内存数据等等的输入输出2.I/Ol流的原理2.1输入流程序从一个数据源读取数据到本程序中,这些数据的方向是从程序的外部到程序内部,这样就构成了一个输入流,在程序读取数据的某个时刻如下图所示:2.2输出流把当前程序中保存的数据输出到程序外部的目的源中,方向从程序内部到外部,这样就构成了输出...
2019-07-30 19:31:58 184
原创 linux基础
linux基础1、简介来由安装网络基本配置2、登陆系统--界面/远程登陆ssh/用户管理2.1 图形界面2.2 shell界面2.3 远程登陆SSH2.4 用户管理 useradd userdel usermod(-l 改登陆名 -d 改用户的家目录) groupadd groupdel groupmod 3、文件管理 ls cd p...
2019-07-25 13:30:59 128
原创 linux基本命令
一、文件系统的管理tips:输入命令的时候要常用tab键来补全ls 查看目录信息 ( ls / ) ls -l 等价于 llpwd 查看当前所处的路径 cd 切换目录 (cd /) ,如果不带参数则切换到用户主目录 ~mkdir 创建文件夹mkdir -p a/b/c 如果要创建的文件夹的父目录不存在,则自动创建rmdir 删除空文件夹 ...
2019-07-25 13:29:17 135
原创 支持jdk1.8的dubbo-admin.war免费下载
最近在做一个分布式项目时,由于在linux装了jdk1.8,导致网上下载的dubbo-admin老出现版本不匹配问题,一直访问不了dubbo-admin,在CSDN找了好久,许多博主都要求c币下载,我是真的服了,这里为大家提供免费下载地址(亲测可用),环境:centOS7JDK:1.8Tomcat:7.0Zookeeper:3.4.6Dubbo-admin.war其实主要还是jdk1....
2019-07-24 10:16:47 4702 14
原创 Oracle 11g下载以及与plsql的连接
1.首先,请下载Oracle 11g和plsql,这里给出百度云网盘下载链接,也可去官网下载,2个压缩包都要,我的百度云只需要下载解压就行了.https://pan.baidu.com/s/1wRBk79ugCvlHA6g53-p45w 提取码:exgz里面包含Oracle数据库以及plsql,还有一个解决plsql无法找到Oracle的压缩包,可能不叫大,请耐心等待一,Oracle数据库...
2019-07-18 21:05:51 2105 1
原创 Oracle数据库的常用SQL语句的书写
--创建表空间create tablespace mytablespace1datafile 'd:\orc1.ora'size 100M;create tablespace mytablespace2datafile 'd:\orc2.ora'size 100M;--删除表空间--drop tablespace mytablespace1;--创建用户/**创建用户c...
2019-07-18 16:48:49 891
原创 基于SSM和jQuery的学生管理系统
此篇文章重点介绍使用jQuery来实现前台界面和后台数据的异步传输,因此,只给出action(controller层的代码)界面很丑,请勿喷…1.首先,给出我的项目包结构:po包是实体类包,util是一个工具类(他将负责后台数据向前台界面的输出)mapper包映射包,内包含各种SQL语句以及增删改查等方法,biz(services)包,主要负责业务逻辑的编写,action包就是我们熟知的c...
2019-07-17 11:30:05 912
原创 如何使用ssm框架实现文件上传?
这篇文章将会给大家提到如何实现图片上传,1.首先,搭建好ssm框架,并在WEB-INF下的lib包底下引入2个jar包,commons-fileupload-1.2.1.jarcommons-io-1.4.jar下载地址:https://pan.baidu.com/s/1iNQ0ekCeTJ2tIGMqaCwFtw提取码:w24t下载路径我百度云盘提供一个版本,也可以自己在网上找,在...
2019-07-10 18:05:52 4264
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人