自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 资源 (4)
  • 收藏
  • 关注

原创 在AOP中常见的概念理解

Joinpoint(连接点):类里面可以被增强的方法即为连接点。例如,想修改哪个方法的功能,那么该方法就是一个连接点。 Pointcut(切入点):对Joinpoint进行拦截的定义即为切入点。例如,拦截所有以insert开始的方法,这个定义即为切入点。 Advice(通知):拦截到Joinpoint之后所要做的事情就是通知。例如,上文说到的打印日志监控。通知分为前置通知、后置通知、异常通知、最终通知和环绕通知。 Aspect(切面):Pointcut和Advice的结合。 Target(目标对象)

2023-07-19 14:11:06 63

原创 MySQL - 常见的三种数据库存储引擎

MySQL - 常见的三种数据库存储引擎

2022-06-30 15:02:58 656

原创 什么是阻塞队列?阻塞队列的实现原理是什么?如何使用阻塞队列来实现生产者-消费者模型?

阻塞队列(BlockingQueue)是一个支持两个附加操作的队列。这两个附加的操作是:在队列为空时,获取元素的线程会等待队列变为非空。当队列满时,存储元素的线程会等待队列可用。阻塞队列常用于生产者和消费者的场景,生产者是往队列里添加元素的线程,消费者是从队列里拿元素的线程。阻塞队列就是生产者存放元素的容器,而消费者也只从容器里拿元素。JDK7提供了7个阻塞队列。分别是:ArrayBlockingQueue :一个由数组结构组成的有界阻塞队列。LinkedBlockingQueue :一个由链

2022-04-29 16:47:57 168

原创 缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级等问题

一、缓存雪崩我们可以简单的理解为:由于原有缓存失效,新缓存未到期间 (例如:我们设置缓存时采用了相同的 过期时间,在同一时刻出现大面积的缓存过期),所有原本应该访问缓存的请求都去查询数据库了, 而对数据库CPU和内存造成巨大压力,严重的会造成数据库宕机。从而形成一系列连锁反应,造成 整个系统崩溃。 解决办法: 大多数系统设计者考虑用加锁( 最多的解决方案)或者队列的方式保 证来保证不会有大量的线程对数据库一次性进行读写,从而避免失效时大量的并发请求落到底层存 储系统上。还有一个简单方案就时讲缓存失效时间

2022-04-28 14:56:23 167

原创 maven有什么优缺点

优点简化了项目依赖管理 易于上手,对于新手来说了解几个常用命令即可满足日常工作 便于与持续集成工具(jenkins)整合 便于项目升级,无论是项目本身还是项目使用的依赖 maven有很多插件,便于功能扩展,比如生产站点,自动发布版本等缺点Maven是一个庞大的构建系统,学习难度大。(很多都可以这样说,入门容易[优点]但是精通难[缺点]) Maven采用约定约定优于配置的策略,虽然上手容易但是一旦出现问题,难于调试中网络环境较差,很多repository无法访问...

2022-04-28 10:11:23 631

原创 Tomcat有几种部署方式

利用Tomcat的自动部署:把web应用拷贝到webapps目录(生产环境不建议放在该目录中)。Tomcat在启动时会加载目录下的应用,并将编译后的结果放入work目录下。使用Manager App控制台部署:在tomcat主页点击“Manager App” 进入应用管理控制台,可以指定一个web应用的路径或war文件。修改 conf/server.xml 文件部署:在 server.xml 文件中,增加Context节点可以部署应用。增加自定义的Web部署文件:在 conf/Catalina/l

2022-04-28 10:08:55 144

原创 tomcat 如何优化?

tomcat作为Web服务器,它的处理性能直接关系到用户体验,下面是几种常见的优化措施:掉对web.xml的监视,把jsp提前编辑成Servlet。有富余物理内存的情况,加大tomcat使用的jvm的内存服务器所能提供CPU、内存、硬盘的性能对处理能力有决定性影响。对于高并发情况下会有大量的运算,那么CPU的速度会直接影响到处理速度。内存在大量数据处理的情况下,将会有较大的内存容量需求,可以用-Xmx -Xms -XX:MaxPermSize等参数对内存不同功能块进行划分。我们之前就遇到过内存分

2022-04-28 10:07:30 594

原创 Java自动装箱与拆箱

装箱就是自动将基本数据类型转换为包装器类型(int-->Integer);调用方法:Integer的 valueOf(int) 方法 拆箱就是自动将包装器类型转换为基本数据类型(Integer-->int)。调用方法:Integer的 intValue方法 在Java SE5之前,如果要生成一个数值为10的Integer对象,必须这样进行:Integer i = new Integer(10);而在从Java SE5开始就提供了自动装箱的特性,如果要生成一个数值为10的Integer对象

2022-04-28 10:05:31 72

原创 instanceof 关键字的作用

instanceof 严格来说是Java中的一个双目运算符,用来测试一个对象是否为一个类的实例,用法 为:boolean result = obj instanceof Class其中 obj 为一个对象,Class 表示一个类或者一个接口,当 obj 为 Class 的对象,或者是其直接 或间接子类,或者是其接口的实现类,结果result 都返回 true,否则返回false。 注意:编译器会检查 obj 是否能转换成右边的class类型,如果不能转换则直接报错,如果不能 确定类型,则通过编译,具

2022-04-28 10:01:16 661

原创 八种基本数据类型的大小,以及他们的封装类

注: 1.int是基本数据类型,Integer是int的封装类,是引用类型。int默认值是0,而Integer默认值 是null,所以Integer能区分出0和null的情况。一旦java看到null,就知道这个引用还没有指向某个 对象,再任何引用使用前,必须为其指定一个对象,否则会报错。2.基本数据类型在声明时系统会自动给它分配空间,而引用类型声明时只是分配了引用空间, 必须通过实例化开辟数据空间之后才可以赋值。数组对象也是一个引用对象,将一个数组赋值给另 一个数组时只是复制了一个引用,所以通过...

2022-04-28 09:59:07 87

原创 面向对象和面向过程的区别

面向对象和面向过程的区别

2022-04-27 22:46:33 53

原创 Java语言有哪些特点

Java语言有哪些特点

2022-04-27 22:43:50 432

转载 MAVEN项目报错:An internal error occurred during: "Updating Maven Project" java.lang.NullPoint

MAVEN项目报错:An internal error occurred during: "Updating Maven Project" java.lang.NullPoint项目在更新POM之后update失败,便一直报这个错误,导致新加的dependency都不能加到项目中解决方法:1、右键点击我的项目,选择 Maven -> Remove(disable) Maven N...

2019-07-30 15:55:31 1656

转载 JAVA多线程实现的四种方式

Java多线程实现方式主要有四种:继承Thread类、实现Runnable接口、实现Callable接口通过FutureTask包装器来创建Thread线程、使用ExecutorService、Callable、Future实现有返回结果的多线程。其中前两种方式线程执行完后都没有返回值,后两种是带返回值的。1、继承Thread类创建线程Thread类本质上是实现了Runnable接...

2019-05-29 14:33:20 108

原创 Oracle脚本性能优化的原则和建议

原则一:注意WHERE子句中的连接顺序: ORACLE采用自下而上的顺序解析WHERE子句,根据这个原理,表之间的连接必须写在其他WHERE条件之前, 那些可以过滤掉最大数量记录的条件必须写在WHERE子句的末尾. 尤其是“主键ID=?”这样的条件。原则二: SELECT子句中避免使用 ‘ * ‘: ORACLE在解析的过程中, 会将'*' 依次转换成所有的列名, 这个工作是通过查询数据...

2019-02-02 10:33:02 2810

原创 Oracle中查看所有表和字段以及表注释.字段注释

获取表:select table_name from user_tables; //当前用户拥有的表 select table_name from all_tables; //所有用户的表 select table_name from dba_tables; //包括系统表select table_name from dba_tables where owner='用...

2019-02-02 10:27:13 251

原创 Linux命令-用户、权限管理

用户是Unix/Linux系统工作中重要的一环,用户管理包括用户与组账号的管理。在Unix/Linux系统中,不论是由本机或是远程登录系统,每个系统都必须拥有一个账号,并且对于不同的系统资源拥有不同的使用权限。Unix/Linux系统中的root账号通常用于系统的维护和管理,它对Unix/Linux操作系统的所有部分具有不受限制的访问权限。在Unix/Linux安装的过程中,系统会自动创建许多用户...

2018-04-12 16:09:24 239

原创 Linux命令-系统管理

查看当前日历:calcal命令用于查看当前日历,-y显示整年日历: 显示或设置时间:date设置时间格式(需要管理员权限):date [MMDDhhmm[[CC]YY][.ss]] +formatCC为年前两位yy为年的后两位,前两位的mm为月,后两位的mm为分钟,dd为天,hh为小时,ss为秒。如: date 010203042016.55。显示时间格式(date '

2018-04-12 15:50:12 270

原创 线程问题

什么是线程安全问题?答:当多个线程共享同一个全局变量,做写的时候,可能会受到其他线程的干扰,导致数据有问题,这种现象称为线程安全问题。线程如何实现同步?多个线程共享同一个全局变量,数据安全问题 - - - - 保证数据的原子性。解决办法:synchronized --自动同步lock -----jdk1.5并发包 - - - 手动同步在什么地方需要考虑加锁?在真正产生共享同一变量的时候。一个线程使...

2018-04-12 15:14:56 156

原创 JPA规范的个人理解

JPA是一种规范,而hibernate是JPA的一种实现JPA全称为JAva Persistence API,Java持久化API是Sun公司在Java EE 5规范中提出的java持久化接口。JPA吸取了目前Java持久化技术的优点,旨在规范、简化Java对象的持久化工作、JPA的宗旨是为POJO提供持久化标准规范。使用JPA持久化对象,并不是依赖于某一个ORM框架。首先对ORM框架

2018-04-08 09:41:40 525

原创 Docker笔记

1.获取最新版本的 Docker 安装包  wget -qO- https://get.docker.com/ | sh2、启动docker 后台服务 runoob@runoob:~$ sudo service docker start当要以非root用户可以直接运行docker时,需要执行 sudo usermod -aG docker runoob 命令,然后重新登陆

2018-03-30 15:22:49 225

原创 eclipse克隆工作空间

eclipse复制工作空间的配置:1.在新选择的工作空间里面找到.metadata\.plugins文件目录。2.把上面目录里面内容全部删掉。3.把需要克隆的工作空间.metadata\.plugins这个文件目录下的文件内容全部复制到新的工作空间的.metadata\.plugins文件目录

2018-03-27 16:32:57 461

原创 UDP解析

import java.io.IOException;import java.net.DatagramPacket;import java.net.DatagramSocket;public class ParseDate {    public static void main(String[] args) throws IOException {        //

2016-05-13 16:51:07 635

原创 SSI框架

框架的结构分析:框架结构图(是在网上找到的),我自己感觉相对比较清晰。我分别解释一下每层所涉及的内容和各个层次之间的交互情况。顶层表现层,对于java开发而言,主要代表的是jsp和html等视图层代码编写,其中有jQuery,javascript等。对于控制层而言,主要是利用Struts2框架技术实现action类与视图层的数据进行交互。在业务逻辑层,主要利用spring的依赖注入实现

2016-04-06 17:03:56 7642

原创 通过dom4j对xml文档的读取操作工具类封装

通过dom4j对xml文档的读取操作。下面给出两个工具类:XmlDom4jUtil.java与Configure.java-----XmlDom4jUtil.javaimport java.io.File;import java.io.FileOutputStream;import java.util.Iterator;import java.util.List;imp

2014-11-26 14:46:47 288

123个微信小程序源码

包含经典2048、摇色子等

2022-05-21

EXT必需文件

包含extjs开发必需的三个文件:ext-all.css,ext-base.js,ext-all.js.

2016-04-06

使用dom4j读取xml四种方法

使用dom4j读取xml四种方法,希望对各位朋友有所帮助

2015-03-12

空空如也

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

TA关注的人

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