自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 收藏
  • 关注

原创 nginx参数配置

高性能的Http和反向代理Web服务器、专门为性能优化开发。

2023-07-06 16:38:25 124

原创 mybatis多数据库兼容改造

##配置databaseiddatabaseId 是用于项目中存在多种数据库 SQL 时区分同一条 SQL 对应的数据库。可以这样认为,在 Mybatis 中 SQL 的 id 和 databaseId 组合才是一条 SQL 的唯一标识。实际上 MyBatis 只会选择性加载指定 databaseId 的 SQL ,还有一些没有指定 databaseId 的 SQL。这里说的有点不是很准确,我们来慢慢分析便可以知晓。mybatis在进行mapper注入时,会出现3种情况。

2023-06-21 17:10:16 1092

原创 记录一次内存调优的过程

jvm调优

2022-07-04 23:35:09 598

原创 ztree使用及懒加载

ztree使用及懒加载

2022-04-04 18:07:54 1816

原创 luckysheet使用——导出并下载excel数据及钩子函数的使用等

lucksheet

2022-03-26 00:02:37 9582 4

原创 luckysheet使用——加载后台数据

luckysheet加载后台数据

2022-03-23 23:47:24 11409 16

原创 Docker安装及使用记录

docker安装及镜像推送

2022-03-22 23:41:14 83

原创 在线Excel框架——luckysheet

在线Excel插件——luckysheet

2022-03-20 20:11:31 2287

原创 阻止JS事件冒泡及默认行为

JS的事件冒泡、默认行为

2022-03-19 23:28:03 345

原创 ELasticSearch简单入门(一)

定义ES是一个全文搜索引擎、分布式文档数据库,每个字段皆是被索引的数据且可被搜索,能够在短时间内存储、搜索、分析大量数据。这里提一下全文搜索,百度可得:是指计算机搜索程序通过扫描文章的每个词,对每个词建立一个索引,指明该词在文章中出现的位置和次数,当用户进行搜索时,就会通过事先建立的索引进行查找,并将结果反馈给用户。ES的全文搜索功能是基于Lucene构建的,Lucene是一个开源的全文搜索引擎工具包。为高可用、可扩展而生。用于全文搜索、结构搜索、分析。将Elasticsearch和

2021-05-19 23:06:40 80

原创 activiti学习记录(一)

Activiti介绍Activiti5是由Alfresco软件在2010年5月17日发布的业务流程管理(BPM)框架,它是覆盖了业务流程管理、工作流、服务协作等领域的一个开源的、灵活的、易扩展的可执行流程语言框架。Activiti基于Apache许可的开源BPM平台,创始人Tom Baeyens是JBoss jBPM的项目架构师,它特色是提供了eclipse插件,开发人员可以通过插件直接绘画出...

2019-12-29 14:52:19 185

原创 springboot整合redis踩坑记录

今天试着用springboot整合redis,过程中遇到了一些小问题,遂将其记录下来。问题虽小,不过碰上了也很是恶心。springboot整合redis步骤我们先来说如何整合redis,首先你需要在springboot的pom.xml文件里添加springboot的依赖。 <dependency> <groupId>org.springf...

2019-12-14 15:46:00 488 1

原创 java虚拟机的二三事之运行时数据区

运行时数据区是jvm比较重要的一部分,它主要包括方法区、堆、程序计数器、虚拟机栈、本地方法栈,可以根据是否是线程私有将它们分成两部分,其中方法区跟堆是线程共享的,其他三个是线程私有的。...

2019-11-14 20:14:52 95

原创 java虚拟机的二三事之类加载器及双亲委派模型

与C或C++不同的是,我们写的java文件并不是可执行文件,而是又许多独立的类文件组成,要经过编译成class文件才会被jvm加载,那在jvm中类是如何加载的呢?今天我们就来聊一聊。首先我们要知道的是,并不是所有的类都会被加载,而是根据程序的需要逐步加载。而类的加载都是通过类加载器来完成的。类加载器bootstrap classloader(启动类加载器):加载java核心API,满足...

2019-11-06 16:03:03 133 1

原创 java虚拟机的二三事之java的跨平台性

大家都知道java是跨平台的语言,那什么是跨平台呢?就是一种语言在计算机上的运行不受平台的约束,一次编译,到处执行。在计算机的世界里,计算机只认0和1,而我们编写的java代码是如何在计算机上运行起来的呢,它需要经过编译的过程,将我们编写的java文件变成计算机能够识别的机器语言,就能够执行了。而这个编译的过程又分成两部分,一是前端编译,先将java文件编译成class文件,比如javac命令就...

2019-11-03 15:25:01 345

原创 细说java内存模型

记得之前在说volitile的时候,曾经讲到过java内存模型,当时只是提到volitile可以保证变量在不同线程之间的可见性。今天我们就来详细说一下java的内存模型,聊一聊为什么同一个共享变量在不同的线程的值是不同的,以及volitile是如何做到保证共享变量在不同线程之间的其可见性的。java内存模型的定义java内存模型描述的是主内存与线程工作内存的关系,它规定了所有的变量存储在...

2019-11-03 13:11:02 103

原创 静态代理与动态代理

首先,我们先讲一下为什么要用代理模式。举个例子,在我们的项目开发中,除了有业务模块,还有公共领域模块,比如权限校验、日志处理等。如果我们在业务模块中想要实现添加用户的功能,而且还想知道是谁添加了用户,我们该怎么去实现我们的代码呢?直接在service层去修改代码吗?这样会导致公共模块与业务模块掺杂在一起了,如果以后我们不想要这部分公共模块了,我们还需要去业务模块中去修改代码,这不利于程序的升级维...

2019-08-28 17:30:57 92

原创 AQS原理简介以及利用AQS简单实现一个共享锁

AQS指AbstractQueuedSynchronizer类。AQS是java中管理“锁”的抽象类,锁的许多公共方法都是在这个类中实现。AQS是独占锁(例如,ReentrantLock)和共享锁(例如,Semaphore)的公共父类。AQS也被称为队列同步器,是用来构建锁或者其他同步组件的基础框架。使用一个int成员变量表示同步状态,通过内置的FIFO队列来完成资源获取线程的排队工作。...

2019-07-17 10:32:43 637

原创 解决CAS算法的"ABA"漏洞问题

在将如何去解决去解决CAS的ABA问题时,我们先来说一下什么是CAS,CAS全称 compare-and-swap ,CPU并发原语。执行是连续的,不允许被中断,不会造成数据不一致问题。CAS算法:它包含三个参数CAS(V,E,N): V表示要更新的变量,E表示预期值,N表示新值。仅当V值等于E值时,才会将V的值设为N,如果V值和E值不同,则说明已经有其他线程做了更新,则当前线程什么都不做。最后...

2019-07-15 11:16:36 447

原创 浅析Java线程池

系统启动一个新线程的成本是比较高的,因为它涉及与操作系统交互。在这种情况下,使用线程池可以很好的提高性能,尤其是当程序中需要创建大量存在周期很短暂的线程时,更应该考虑线程池。与数据库连接池比较相似的是,线程池在系统启动时即创建大量空闲的线程,程序将一个Runnable对象或者Callable对象传递给线程池,线程池就会启动一个线程来执行它们的run方法或者call方法。当run方法或者call方...

2019-07-14 21:02:37 76

原创 可重入锁的理解与应用

可重入锁重入锁,也叫做递归锁,指的是同一线程 外层函数获得锁之后 ,内层递归函数仍然有获取该锁的代码,但不受影响。synchronized 和 ReentrantLockd都是重入锁 。首先我们来看一个用synchronized实现的例子,例子如下。public class Test implements Runnable { public synchronized void get()...

2019-07-13 16:37:19 309

原创 volatile同步机制

volatile——java中稍弱的同步机制在讲volatile之前,大家先看这样一个例子public class VolatileTest { public int i = 0; public void go() { new Thread(new Runnable() { @Override public void run() { // TODO Auto-gen...

2019-07-11 23:41:56 132

原创 解决get请求中文乱码的方法

href="${pageContext.request.contextPath}/AdminServlet?method=changeCategory&cname=${category.cname }&cid=${category.cid}"这几天在试着去写一个web项目的时候,碰到了用上述方法传参,传到servlet后通过request.getParameter(“cnam...

2019-06-06 15:23:21 253

原创 Servlet转发与重定向的区别

Servlet转发与重定向的区别定义转发重定向区别定义转发1、页面发出的请求发送到Servlet,经过处理后将request和response对象发送到当前项目下的某个页面。2、一次转发过程中有一次请求相应,request域中的数据不会丢失。重定向1、页面发出的请求发送到Servlet,Servlet向页面发回一个重定向响应信息,信息包含需要重定向到的地址信息。页面接收到信息后再向...

2019-05-31 18:00:48 165

空空如也

空空如也

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

TA关注的人

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