![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
守望星空2018
这个作者很懒,什么都没留下…
展开
-
过滤器filter、拦截器intercepter、监听器listener、servlet区别
一、概念 1、servlet:servlet是一种运行服务器端的java应用程序,具有独立于平台和协议的特性,可以动态生成web页面它工作在客户端请求与服务器响应的中间层; 2、filter:filter是一个可以复用的代码片段,可以用来转换HTTP请求,响应和头信息。它不能产生一个请求或者响应,它只是修改对某一资源的请求或者响应; 3、listener:监听器,通过listener可以坚挺web服务器中某一执行动作,并根据其要求作出相应的响应。就是在a...原创 2021-04-16 13:59:59 · 363 阅读 · 0 评论 -
CGLIB动态代理原理及实现
JDK实现动态代理需要实现类通过接口定义业务方法,对于没有接口的类,如何实现动态代理呢,这就需要CGLib了。CGLib采用了非常底层的字节码技术,其原理是通过字节码技术为一个类创建子类,并在子类中采用方法拦截的技术拦截所有父类方法的调用,顺势织入横切逻辑。JDK动态代理与CGLib动态代理均是实现Spring AOP的基础。示例代码如下:1、创建被代理的类:package com.hl.chapter13.demo;/** * 被代理的真实类 */public class Admi原创 2021-04-14 14:46:03 · 241 阅读 · 0 评论 -
JDK动态代理的实现原理
1、在JDK的java.lang.reflect包下有个Proxy类,他正是构造代理类的入口。2、该类有一个方法newProxyInstance就是创建代理对象的方法。3、这个方法需要3个参数:ClassLoader,用来加载代理类的Loader类,通常这个Loader和被代理的类是同一个Loader类; Interfaces,是要被代理的那些接口; InvocationHandler,用于执行除了被代理接口中方法之外的用户自定义的操作,他也是用户需要代理的最终目的。用户调用目标方法都...原创 2021-04-14 10:31:01 · 162 阅读 · 0 评论 -
fmt:formatNumber 用法
<fmt:formatNumber> 此标签会根据区域定制的方式将数字格式化成数字,货币,百分比。 此标签的属性: value:要格式化的数字 type:按照什么类型格式化 pattern:自定义格式化样式 currencyCode:ISO-4721货币代...转载 2018-06-06 11:46:35 · 4832 阅读 · 0 评论 -
HTTP状态码详解(200,404,500等)
HTTP状态码,它是用以表示网页服务器HTTP响应状态的3位数字代码。状态码的第一个数字代表了响应的五种状态之一。 1XX系列:指定客户端应相应的某些动作,代表请求已被接受,需要继续处理。由于 HTTP/1.0 协议中没有定义任何 1xx 状态码,所以除非在某些试验条件下,服务器禁止向此类客户端发送 1xx 响应。 2XX系列:代表请求已成功被服务器接收、理解、并接受。...原创 2018-07-26 10:43:02 · 9724 阅读 · 0 评论 -
Apache Shiro的登录过程分析
来源:https://blog.csdn.net/jin5203344/article/details/53174341关于shiro就不用做过多介绍了,今天主要分析下登录过程首先我大致画了个流程图(可能不够详细):第一步:用户登录,根据用户登录名密码生产Token UsernamePasswordToken token = new UsernamePasswordToken(username, ...转载 2018-07-11 17:29:47 · 994 阅读 · 1 评论 -
关于TCP的CLOSE_WAIT
对于TCP的挥手过程的认识,我认为可以分为三个等级:如果你能把TCP的三次握手和四次挥手的流程说出来,至少说明你上课听讲了。如果你能完整的描述TIME_WAIT 和 CLOSE_WAIT 状态,那至少说明你对挥手过程深入了解了。如果你在项目开发过程中遇到过TIME_WAIT 和 CLOSE_WAIT的问题并能够解决这类问题,那说明你是高手了。今天我们来说下TCP的CLOSE_WAIT状态,搞不明白...转载 2018-06-20 10:22:06 · 6455 阅读 · 0 评论 -
SpringBoot使用DevTools实现热部署
一、添加devtools依赖<!-- devtools工具 --><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <optional>true</optional></dependency>二、修改插件原创 2021-04-09 23:27:51 · 121 阅读 · 0 评论 -
Java反射技术--获取私有属性和方法
1、首先,创建一个类,部分属性和方法设置为private。package com.example.demo.utils;/** * @Author HL * @Date 2021年3月20日 */public class Person { private String id = "10"; private String name = "张三"; private String getId() { return id; } priva原创 2021-03-20 14:57:51 · 4521 阅读 · 0 评论 -
Java创建对象时静态代码、非静态代码、构造函数执行顺序
Java中,子类继承父类,子类创建对象时,执行顺序如下:①父类静态代码块>>②子类静态代码块>>③父类非静态代码块>>④父类构造函数>>⑤子类非静态代码块>>⑥子类构造函数总结:父类早于子类,静态早于非静态,非静态早于构造函数,父类非静态和构造函数早于子类的非静态和构造函数。1、验证代码package com.example.demo.utils;/** * Java创建对象时执行顺序 * * @Author H.原创 2021-03-20 11:07:34 · 168 阅读 · 0 评论 -
使用jdbc来处理MySQL的utf8mb4字符集(转)
原文链接地址:http://blog.51cto.com/11931236/2057929服务端解决方案查阅MySQL官方文档时,给出如下支持utf8转utf8mb4的官方处理办法https://dev.mysql.com/doc/refman/5.7/en/charset-unicode-conversion.html上述的步骤只是针对server端的配置.对于客户端...转载 2019-07-01 16:24:50 · 1748 阅读 · 0 评论 -
杜绝假死,Tomcat容器设置最大连接数
前提说明为了确保服务不会被过多的http长连接压垮,我们需要对tomcat设定个最大连接数,超过这个连接数的请求会拒绝,让其负载到其它机器。达到保护自己的同时起到连接数负载均衡的作用。动手去做一开始根据故障todoList提供的参数MaxKeepAliveRequests,进行验证,我们将tomcat配置server.xml修改为:同时,启动客户端模拟30个长连接。预期应该只有10个连接能保持住。...转载 2018-06-20 16:58:21 · 5945 阅读 · 0 评论 -
Tomcat中acceptCount,maxConnections、maxThreads的含义及关系
个人对tomcat连接器3个属性maxConnections、maxThreads、acceptCount的理解:先摘取官网对这3个属性的描述:acceptCountThe maximum queue length for incoming connection requests when all possible request processing threads are in use. An...转载 2018-06-20 16:37:08 · 2244 阅读 · 2 评论 -
java 中的sleep()和wait() 的区别
1、sleep() 使当前线程(即调用该方法的线程)暂停执行一段时间,让其他线程有机会继续执行,但它并不释放对象锁。也就是说如果有synchronized同步快,其他线程仍然不能访问共享数据。注意该方法要捕捉异常。 例如有两个线程同时执行(没有synchronized)一个线程优先级为MAX_PRIORITY,另一个为MIN_PRIORITY,如果没有Sleep()方法,只有高优先级的线程执行完...转载 2018-06-19 11:30:53 · 348 阅读 · 0 评论 -
阿里云申请免费SSL证书,并配置到Tomcat,实现https访问
在阿里云的证书列表中,点下载证书,就可以根据你的服务器下载相关的证书。 选择Tomcat,下载,阿里云上面还附有教程,很方便。唯一要注意的是,阿里云上面的ECS只支持开放443端口,所以Tomcat要把8443端口改成443端口,并在阿里云上面添加开放443端口,才可以用https访问Tomcat的网站。 下面是转载阿里云上面的Tomcat设置教程:安装证书Tomcat支持JKS格式证书,从Tom...转载 2018-06-19 08:48:12 · 4314 阅读 · 7 评论 -
shiro(java安全框架)小结
shiro(java安全框架) 来源:http://www.cnblogs.com/zhouguanglin/p/8477807.html 以下都是综合之前的人加上自己的一些小总结 Apache Shiro是一个强大且易用的Java安全框架,执行身份验证、授权、密码学和会话管理。使用Shiro的易于理解的API,您可以快速、轻松地获得任何应用程序,从最小的移动应用程序到最大的网络和企...转载 2018-04-17 09:09:01 · 219 阅读 · 0 评论 -
Java中DecimalFormat的用法
我们经常要将数字进行格式化,比如取2位小数,这是最常见的。Java 提供 DecimalFormat 类,帮你用最快的速度将数字格式化为你需要的样子。下面是一个例子: importjava.text.DecimalFormat; publicclassTestNumberFormat{ publicstaticvoidmain(String[]args){ dou...转载 2018-06-06 08:46:11 · 263 阅读 · 0 评论 -
Java内存溢出的几种情况
目录1. Java堆溢出1.1 模拟场景1.2 用内存影响分析工具分析堆快照2.虚拟机栈和本地方法栈溢出2.1 StackOverflowError异常2.2 OutOfMemoryError异常3.方法区和运行时常量池溢出3.1 运行时常量区溢出3.2 String创建对象和对应内存状态3.3 运行时方法区溢出4.本机直接内存溢出5. JVM相关wiki和工具 正文本文通过几段代码模拟实际的内存...转载 2018-06-14 15:12:15 · 2475 阅读 · 0 评论 -
java.lang.OutOfMemoryError: Java heap space错误及处理办法
以下是从网上找到的关于堆空间溢出的错误解决办法:java.lang.OutOfMemoryError: Java heap space ===================================================使用Java程序从数据库中查询大量的数据时出现异常:java.la...转载 2018-06-14 15:22:40 · 56404 阅读 · 1 评论 -
Java内存溢出与栈溢出分析
一、背景知识1、JVM体系结构2、JVM运行时数据区3、JVM内存模型JVM运行时内存 = 共享内存区 + 线程内存区3-1、共享内存区共享内存区 = 持久带 + 堆持久带 = 方法区 + 其他堆 = Old Space + Young SpaceYoung Space = Eden + S0 + S13-1-1、持久代JVM用持久带(Permanent Space)实现方法区,主要存放所有已加载...转载 2018-06-14 15:53:18 · 2213 阅读 · 0 评论 -
Spring的JdbcTemplate自动关闭连接
来源:https://blog.csdn.net/partner4java/article/details/7012196JdbcTemplate类使用DataSource得到一个数据库连接。然后,他调用StatementCreator实例创建要执行的语句。下一步,他调用StatementCallBack完成。一旦StatementCallBack返回结果,JdbcTemplate类完成所有必要清...转载 2018-06-22 15:56:10 · 23209 阅读 · 2 评论 -
Tomcat server.xml配置实例
来源:https://www.cnblogs.com/kismetv/p/7228274.html目录一、一个server.xml配置实例二、server.xml文档的元素分类和整体结构 1、整体结构 2、元素分类三、核心组件 1、Server 2、Service 3、Connector 4、Engine 5、Host 6、Context四、核心组件的关联 1、整体关系 2、如...转载 2018-06-22 17:29:39 · 292 阅读 · 0 评论 -
idea使用SVN提交时performing vcs refresh卡住的问题
选择 File --> Invalidate Caches / Restart -->Invalidate and Restart,idea重启之后就好了转载 2018-06-09 16:56:25 · 13498 阅读 · 4 评论 -
idea编辑窗口显示outdated version解决方案
上图为网络盗图,原图版权链接:https://i.stack.imgur.com/kmLla.png本人只是出现这个问题解决步骤如下:1.file>invalid caches>invalid(but not restart)2.shutdown idea3.delete cvs cac...转载 2018-06-10 14:52:18 · 6249 阅读 · 0 评论 -
Tomcat内存溢,出设置JAVA_OPTS
设置Tomcat启动的初始内存其初始空间(即-Xms)是物理内存的1/64,最大空间(-Xmx)是物理内存的1/4。可以利用JVM提供的-Xmn -Xms -Xmx等选项可进行设置三、实例,以下给出1G内存环境下java jvm 的参数设置参考:JAVA_OPTS="-server -Xms800m -Xmx800m -XX:PermSize=64M -XX:MaxNewSize=256m -X...原创 2018-06-25 15:07:47 · 1390 阅读 · 0 评论 -
https协议经springMVC重定向后变成http协议之解决方案
进入系统的请求为:https://xxx/login/index经过springmvc的重定向后,return new ModelAndView("redirect:/login/index"); 请求由https协议变成http协议,http://xxx/login/index解决办法:[html]...转载 2018-06-25 17:02:52 · 7914 阅读 · 0 评论 -
java中String.split()特殊符号"." "|" "*" "\" "]"
java中split()特殊符号"." "|" "*" "\" "]"关于点的问题是用string.split("[.]") 解决。关于竖线的问题用 string.split("\\|")解决。关于星号的问题用 string.split("\\*")解决。关于斜线的问题用 sring.split("\\\\")解决。关于中括号的问转载 2018-03-26 08:43:49 · 2214 阅读 · 0 评论