自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(123)
  • 资源 (3)
  • 收藏
  • 关注

原创 mybatis的工作原理

一、mybatis的工作过程1、系统运行时,加载mybatis的xml配置文件到Configuration类中,SqlSessionFactoryBuilder会读取Configuration类中信息创建SqlSessionFactory,newSqlSessionFactoryBuilder.build(...),所以SqlSessionFactory持有mybatis的基本配置内容。在整个应用当中,我们应该只创建一个SqlSessionFactory实例。2、根据创建的sqlSessi.

2020-10-27 16:55:26 1902

原创 Unable to open nested jar file ‘BOOT-INF/lib/report-common-3.2.0.jar‘

原因:替换或者导入jar包时,jar包被自动压缩,springboot规定嵌套的jar包不能在被压缩的情况下存储。解决(本文以升级ojdbc包为例):使用jar命令解压jar包,在压缩包外重新替换jar包,在进行压缩。步骤1:解压jar包 jar -xvf *.jar PS D:\ttmp> jar -xvf *.jar 已创建: META-INF/ 已解压: META-INF/MANIFEST.MF 已创建: BOOT-INF/ 已...

2020-09-28 18:07:34 2327

原创 linux安装redis

下载redis-4.0.2.tar.gztar xzf redis-4.0.2.tar.gzcd redis-4.0.2makecd src./redis-server /data/redis/redis-4.0.2/redis-conf

2020-09-17 14:31:42 196

转载 用三个线程按顺序循环打印 abc 三个字母,比如 abcabcabc

public class ABC_Synch { public static class ThreadPrinter implements Runnable { private String name; private Object prev; private Object self; private ThreadPrinter(String name, Object prev, Object self) { t...

2020-08-13 15:25:32 306

原创 NIO的工作流程

一、传统IO(BIO)和NIO BIO是同步阻塞的,即一个请求分配一个线程,就是再客户端发送请求到服务器的时候,服务器会为这个客户端分配一个线程去处理相关的读写操作,且在此期间,该线程是阻塞的,不能接收其他客户端的请求。这样的阻塞如果是单线程的话,在多用户的情况下会造成非常不好的系统体验,且会造成cpu的浪费,所以需要用多线程来处理这样的请求。但是使用多线程也有缺点:线程创建和销毁的成本较高;线程还会占有一定的内存,如果线程的数量较多,数千的时候,会造成吃掉一半的jvm内存;另外线程切换的成...

2020-08-05 19:05:17 1179

原创 HashMap

一、hashmap基本原理JDK1.8之前,HashMap用的是数组加链表。 原理为:HashMap中我们最长用的就是put(K, V)和get(K)。我们都知道,HashMap的K值是唯一的,那如何保证唯一性呢?我们首先想到的是用equals比较,没错,这样可以实现,但随着内部元素的增多,put和get的效率将越来越低,这里的时间复杂度是O(n),假如有1000个元素,put时最差情况需要比较1000次。实际上,HashMap很少会用到equals方法,因为其内通过一个哈希表管理所有元素,哈希是通过.

2020-07-25 10:39:28 272

原创 mysql 报Row size too large 65535 原因与解决方法

是因为一个表,所有字段的长度加起来超过了65535

2020-05-13 19:54:28 2934

原创 js操作列表

$(function(){ customScrollbar({ obj:"#content", url:webPath+"/cwCollectConfim/findByPageAjax?opNo="+opNo, tableId:"table111111",//列表数据查询的table编号 tableType:"thirdTableTag",...

2020-05-08 15:24:27 846

原创 linux mysql 查询data目录

vi /etc/my.cnf ,找到datadir,就是data目录

2020-05-08 14:23:18 3047

原创 java 打包下载

前台jsvar _downloadZipAjax = function(obj,url){ var elemIF = document.createElement("iframe"); elemIF.src = url; elemIF.style.display = "none"; document.body.appendChild(elemIF);};后台...

2020-04-29 16:59:56 204

原创 在导入试图或者函数时,报错The user specified as a definer ('root'@'%') does not exist

这是由于没有给mysql赋权限,给mysql添加权限权限问题,授权 给 root 所有sql 权限mysql>grant all privileges on *.* to root@"%" identified by "admin";Query OK, 0 rows affected (0.00 sec)mysql>flush privileges;...

2020-04-28 15:56:57 120 1

原创 window dos命令安装mysql

一、下载mysql文件,解压到 D:/mysql/mysql-5.7.20-winx64文件夹下在mysql-5.7.20-winx64的文件夹下创建一个名为data的空文件夹。二、在mysql/bin目录下创建my.ini文件[mysql]# 设置mysql客户端默认字符集default-character-set=utf8[mysqld]#设置3306端口po...

2020-04-28 15:33:04 273

原创 通过feign调用,返回时出现中文乱码

需要在feign和对应的controller中设置上feign.java@RequestMapping(value = "/appCustomer/getMfCusCustomerInfo" ,produces = MediaType.APPLICATION_JSON_UTF8_VALUE, consumes = "application/json;charset=UTF-8")pub...

2020-04-23 13:04:28 8438 2

原创 java http协议,添加header以及post传参,以及服务端获取

一、客户端请求public static String test(){ JSONObject obj = new JSONObject(); obj.put("cusName","禹州林业集团"); obj.put("socialCreditCode","11431000006542054G"); String parm = obj.toString(); ...

2020-04-23 13:02:31 7963 1

原创 Java通过https http协议来调用第三方接口

一、通过https协议public static String getSqm(String nssbh){ //请求参数 String sqmParm = createSqmParm(nssbh); System.out.println(sqmParm); //返回结果 String sqmRes = ""; ...

2020-03-24 12:52:46 3501

原创 idea git操作

一、切换分支git checkout ztogit pull二、idea中修改git push代码时的用户名在idea的终端(terminal)中输入git config user.name,查询当前用户名输入git config --global user.name "小王" 修改用户名...

2020-01-16 14:59:51 161

原创 linux安装mysql数据库

1、下载mysql源安装包wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm#2、安装mysql源yum localinstall mysql57-community-release-el7-8.noarch.rpm3、检查mysql源是否安装成功yum repolist enabled |...

2019-12-25 15:27:38 135

原创 nginx安装

安装依赖yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-develcd /data/nginxtar -xzvf nginx.gz预编译./configure安装makemake install安装完成后,进入安装目录cd /usr/local/nginx/sbin测试(必须)./nginx -...

2019-12-25 15:26:46 89

原创 springboot redisTemplate为null

使用redisUtil工具类来封装的redis,用的时候发现redisTemplate一直为null。/*** RedisTemplate 工具类*/@Componentpublic class RedisUtil { @Autowired private RedisTemplate redisTemplate; /** * 给一个指定的 ...

2019-12-05 15:11:42 4236 1

原创 SpringBoot 使用ApplicationContext 及 getbean

第一种方式:容器启动加载时设置public class WittApplication { public static void main(String[] args) { ApplicationContext applicationContext = SpringApplication.run(WittApplication.class, args); ...

2019-12-05 14:30:20 1252

原创 js 拼接带多个参数的html

menuHtml += '<a onclick=xadmin.add_tab("' + menuList[i].menuName +'","<%=basePath%>' + menuList[i].menuUrl +'") id="aa" >';

2019-10-31 16:03:16 1268

原创 layui在提交表单后,避免重复提交以及提交失败后置空表单

form.on('submit(submitForm)', function(data){ $.ajax({ url:'<%=basePath%>parmDic/insertAjax', type:'POST', dataType:'json', ...

2019-10-29 08:55:01 544

原创 SpringBoot+Nginx Https下redirect问题

最近集群部署项目时遇到了这个问题,项目采用springboot框架,内嵌tomcat容器。前端采用nginx使用https以后出现的重定向(redirect)的问题。用nginx反向代理tomcat,然后把nginx配置为https访问,并且nginx与tomcat之间配置为普通的http协议,当后台代码定义时redirect,实际是重定向到了http下的地址,导致浏览器上无法访问...

2019-08-23 10:52:32 2930 1

原创 -bash: ./startup.sh: Permission denied

启动tamcat;命令:./startup.sh出现如下提示,需要对此目录进行权限设置:-bash: ./startup.sh: Permission denied终端命令:chmod u+x *.sh再次启动./startup.sh出现Tomcat started.启动成功...

2019-07-30 17:16:03 1787

原创 linux搭建nfs文件服务器

1 环境 准备服务器端:192.168.2.8客户机端:192.168.2.5操作系统:Linux2 服务器 配置一、安装 NFS 服务器所需的软件包:yum install -y nfs-utils二、编辑 exports 文件,添加从机在/home 目录下创建 nfs 文件夹cd /home && mkdir /nfs#编辑 exprots 文件vim...

2019-07-27 16:53:06 429

原创 Linux服务器提示No space left on device错误解决方法

今天早上,测试环境报了这个错误,第一想法就是磁盘空间不足,df -h df /home查看发现空间使用率 100%然后就删除一些不用的zip文件,释放了空间5个多G查找磁盘,发现有几个微服务的log日志达到了10G,然后 sudo rm -rf .out日志,再df -h 发现空间并没有缩小,看了几篇文章,应该是微服务还再运行,空间并没有实际释放的原因,kill掉用到...

2019-06-18 16:06:05 2355

原创 Redis MISCONF Redis is configured to save RDB snapshots, but it is currently not able to persist 问题

早上来了测试环境突然报错:MISCONF Redis is configured to save RDB snapshots, but it is currently not able to persist on disk. Commands that may modify the data set are disabled, because this instance is configured...

2019-06-18 09:34:21 120

原创 too many open files

linux系统经常会报这个错误,查看 :ulimit-a会显示 open files 1024可以改成2048ulimit -n 2048如果下改成更大的,就需要root权限了

2019-06-17 16:43:37 118

原创 守护线程Daemon Thread和一般线程

在Java中有两类线程:用户线程 (User Thread)、守护线程 (Daemon Thread)。所谓守护 线程,是指在程序运行的时候在后台提供一种通用服务的线程,比如垃圾回收线程就是一个很称职的守护者,并且这种线程并不属于程序中不可或缺的部分。因此,当所有的非守护线程结束时,程序也就终止了,同时会杀死进程中的所有守护线程。反过来说,只要任何非守护线程还在运行,程序就不会终止。用户线程和守...

2019-06-04 11:00:08 296

原创 Timer与ScheduledExecutorService间的抉择

多线程并行处理定时任务时,Timer运行多个TimeTask时,只要其中之一没有捕获抛出的异常,其它任务便会自动终止运行,使用ScheduledExecutorService则没有这个问题。 阿里巴巴规约扫描提示 Timer执行多个task,当一个task抛出异常所存在缺陷的问题。由于Timer是单线程的,当执行多个任务时,一个任务抛出异常,接下来的任务就不会再继续执行。例子一、使用t...

2019-06-03 14:57:46 953

原创 eureka的工作原理以及与zk的区别

一、CAP定理介绍著名的CAP理论指出,一个分布式系统不可能同时满足C(数据一致性)、A(服务可用性)和P(分区容错性)。由于分区容错性在是分布式系统中必须要保证的,因此我们只能在A和C之间进行权衡。一、eureka的工作原理eureka包含两个组件,eureka serve 和eureka client,eureka client是一个Java程序客户端,用于简化和eureka se...

2019-05-30 16:26:36 2993 1

原创 websocket 使用localhost能连接,使用IP地址不能连接问题

ws://localhost:8088 可以正常访问 改为 ws://192.168.1.120:8088 就不可以访问,原因就是获取不到session信息解决方法:需要浏览器输入的项目地址和建立websocket连接的地址一样...

2019-04-17 13:08:19 11173 1

原创 利用redis发布/订阅功能解决websocket session共享问题

由于websocket session不能序列化,所以不能存储在redis中。故在分布式系统中,可以通过把websocket 的session存储在服务器本地map,然后把消息发布到redis指定的频道上,每个服务器节点都订阅该频道,这样的话,消息一发布,每个节点都能接受到该消息,然后再从map中获取session,来完成消息推送。两种方式都能实现redis的发布/订阅功能第...

2019-04-11 16:35:58 6633 1

原创 javaweb系统通过websocket推送消息

一、简单介绍 WebSocket协议是基于TCP的一种新的网络协议。它实现了浏览器与服务器全双工(full-duplex)通信——允许服务器主动发送信息给客户端。 在实现websocket连线过程中,需要通过浏览器发出websocket连线请求,然后服务器发出回应,这个过程通常称为“握手” 。在 WebSocket API,浏览器和服务器只需要做一个握...

2019-04-11 16:19:28 1172

原创 spring为服务类的静态变量依赖注入

在一些服务类中,需要为一些静态变量注入。但是,spring的注解不支持静态变量和静态方法,因为spring是基于对象层面的依赖注入,而静态变量是属于类的。@Componentpublic class workflow{ @Autowired public staticWkfTaskExtendDao wkfTaskExtendDao;...

2019-03-08 16:40:35 258

原创 阻塞队列及 wait notify模拟实现 BlockingQueue

一、阻塞队列 阻塞队列与普通队列的区别在于,当队列是空的时,从队列中获取元素的操作将会被阻塞,或者当队列是满时,往队列里添加元素的操作会被阻塞。试图从空的阻塞队列中获取元素的线程将会被阻塞,直到其他的线程往空的队列插入新的元素。二、wait notify实现阻塞队列public class BlockingQueueDemo {    //定义两把锁,只是简单的锁    private ...

2018-05-24 17:57:12 908

原创 java多线程join方法

       在某些情况下,主线程创建并启动了子线程,如果子线程中需要进行大量的耗时运算,主线程往往将早于子线程结束之前结束,如果主线程想等待子线程执行完毕后,获得子线程中的处理完的某个数据,就要用到join方法了。public class Join {    public static void main(String[] args) throws Exception {         Thr...

2018-05-24 13:52:43 250

原创 SimpleDateFormat用法

public class SimpleDateFormatTest {    public static void main(String[] args) throws Exception {        SimpleDateFormat sd1 = new SimpleDateFormat("Gyyyy年MM月dd日 HH时mm分ss秒");        SimpleDateFormat s...

2018-05-23 17:42:41 548

原创 java native方法使用

一、前言          今天在看java.lang.System源码的时候看到了System静态代码块中有一个registerNatives方法,该方法是被 native关键字修饰。public final class System {    /* register the natives via the static initializer.     *     * VM will invo...

2018-05-23 15:50:47 31272 4

原创 System.getProperty()获取system基本配置信息

/**     * System properties. The following properties are guaranteed to be defined:     * &lt;dl&gt;     * &lt;dt&gt;java.version         &lt;dd&gt;Java version number     * &lt;dt&gt;java.vendor     ...

2018-05-23 13:09:40 1175

activiti modeler 5.17汉化

activiti modeler 5.17汉化

2016-01-21

log4j.jar是Java开发中必备的 包

log4j.jar是Java开发中必不可少的jar包

2013-08-17

xwork加载包

用于java架构web开发,struts2的 xwork加载包

2012-11-03

空空如也

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

TA关注的人

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