自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 资源 (3)
  • 问答 (11)
  • 收藏
  • 关注

原创 struts2的基本配置详细流程解说

又到了微博时刻了。从一号到十五号的任务计划算是告一段落了,完成的质量虽然不敬人意,但也是一个小小的进步!按计划每个阶段都会用微博的方式做一个技术总结,记录和分享自己所学到的一些东西和理解!下面的所有内容都是关于struts2框架的技术。对,单单只有struts2框架实现的一个简单的登陆功能,没有与任何框架整合,目的就是为了加深对struts2的理解!        首先来说一下什么是strut

2016-09-17 16:09:44 1943

原创 springMVC+mybatis整合之applicationContext.xml基本配置详解

最近对spring的配置文件进行了一些入门级的学习,下面总结一下这几天所学的各种配置如何配置和其配置的作用!此篇文章只适合小白,忘各小白能指正错误,再次感激不尽首先创建一个web项目,然后引入spring的配置文件,默认名称为applicationContext.xml,此时请注意,在引入该文件后,要想拦截web请求的话,还要在web.xml文件中配置该文件的拦截器,如图:配置完后,w

2016-07-28 14:32:54 14773

原创 hashmap 的 hash()方法详解:(h = key.hashCode()) ^ (h >>> 16)

看下该方法:static final int hash(Object key) { int h; return (key == null) ? 0 : (h = key.hashCode()) ^ (h >>> 16);}返回的是(h = key.hashCode()) ^ (h >>> 16)的值,也就是hashcode和无符号右移16位的hashcode后得到的值做异或运算h = key.hashCode()的时候已经把hashcode

2021-03-25 14:31:31 4772 8

原创 shiro详解第一篇

此内容根据官方文档翻译,加上自己的理解1. SecurityManager中心管理器:SecurityManager 通常情况下一个应用只有一个SecurityManager实例创建:Factory<SecurityManager> factory = new IniSecurityManagerFactory("classpath:shiro.ini") SecurityManager securityManager = factory.getInstance(); S

2021-03-23 11:59:09 188

原创 jvm7和jvm8运行时数据区(内存模型)的变化

本章只针对变化区域做讲解,其他不变的区域不做讲解。先看看java7(包含java7)以前的jvm内存分布图:方法区(官方叫做永久代,方法区不知道怎么延申出来的名字):1.存放类的加载信息:类的修饰符,类名,类的属性(字段),属性修饰符,类的方法,方法修饰符等2.存放运行时常量,,静态变量,全局字符串常量堆:堆主要存放对象的,堆也分好几个区域:伊甸园,from survivor,to survivor(这三个区域叫新生代区)old generationEden区:新new出来的

2021-03-13 13:44:13 534

原创 记录一次idea启动失败问题Improperly specified VM option. To fix the problem, edit your JVM options and remove t

Improperly specified VM option.To fix the problem, edit your JVM options and remove the options that are obsolete or not supported by the current version ofthe JVM.Failed to create JVM.JVM Path: E:\work\idea\install ntelli IDEA 2020.3.2jbr点这个修改了idea6..

2021-03-12 19:47:45 8724 6

原创 git常用命令和各命令详解

git 四大区:工作区, 暂存区,本地库,远程库git 命令git config : 配置系统设置git status : 查看当前状态(工作区,暂存区的状态)git add : 提交文件到暂存区(可传入多个文件参数,空格隔开)git rm --cached <file>... : 撤销add操作(可传入多个文件参数,空格隔开)只有暂存区的文件可以撤回。已提交到本地库的文件无法撤回git commit :从暂存区提交到本地库(默认提交全部文件)git...

2020-12-28 17:03:31 202

原创 springboot 启动 404 问题解决与总结

随便建了个springboot项目,写了个TestController类.在成功启动内置tomcat后,一直报404.在网上找了很多例子,大部分都是说启动类的位置和controller包的位置的问题,我的是没有问题的还有就是配置前端访问html问题的配置,我的是纯后台,没有连接前端,因此也没问题.找了一圈后,在一个英文网站找到了原因:在写controller类时,用到了注解@RequestMapping注解,百度了一下,发现注解在spring-web包中,于是引入了spring-web的依赖

2020-12-21 13:15:20 7869 1

原创 webFlux获取不到body体解决办法

/** * 缓存body内容. * * @return */public Mono<Void> readBody(ServerWebExchange exchange, GatewayFilterChain chain, GatewayContext gatewayC...

2020-01-16 14:59:05 5898 4

原创 线程死锁

当需要执行一些原子性操作的代码时,某个代码块或者方法就需要用到线程锁,但是在代码块或者方法中调用其他原子性方法时,就会出现当前代码块或者方法没有执行完毕,无法释放当前持有的锁,被调用的原子性方法又需要此锁,导致线程被阻塞。例:public class Test { Lock locka = new Lock(); ReentrantLock lock = new Reen...

2020-01-06 15:05:56 168

原创 mysql添加索引和不添加索引的区别

在工作中遇到记录日志的表查询慢问题,定位到该sql语句后发现是一个非常简单的select查询:SELECT t.id, t.job_group, t.job_id, t.executor_address, t.executor_handler, t.executor_param, t.executor_sharding_param,...

2020-01-01 21:20:46 3000

原创 RabbitMq

目录1.连接ConnectionFactory:2.配置监听3.配置队列:Queue4.配置Exchange1.fanout类型2.direct类型3.topic类型RabbitMq消息模型组件:生产者,消费者,队列,交换机,路由,消息等publishercustomerexchangeroutingKeyqueuemessagec...

2019-12-27 22:54:16 152

原创 基于Springboot 实现Redis消息发布与订阅

最新项目中用到了这个,研究了一番没看懂,于是在github上找了个小案例自己动手写了一下,终于摸清楚了流程!有时候项目中把redis中缓存的数据更新后,消费此消息的对象并不知道已经更新了该缓存数据,导致无法实时操作最新的缓存数据,redis的消息发布于订阅则可以解决这个问题。首先消息发布与订阅是基于队列的方式实现的,对于简便的功能,使用redis提供的此功能则完美解决,而对于数据量大且复杂...

2019-12-25 17:06:53 821

原创 java8 lambda表达式之map和foreach的区别

看 一段代码:List<String> list = new ArrayList<>();list.add("a");list.add("c");list.add("s");list.add("b");list.add("f");list.forEach(s -> { System.out.println(args.getClass()....

2019-12-21 23:49:43 3559 1

原创 java8 lambda表达式之Predicate

Predicate 断言类,返回一个Boolean值。作为lambda表达式filter函数的参数例:List<String> list = new ArrayList<>();list.add("a");list.add("c");list.add("s");list.add("b");list.add("f");Predicate<Strin...

2019-12-21 23:01:39 732 1

原创 ArrayList自动扩容机制

ArrayList 操作的底层其实是Object[] 数组,对该数组进行了包装。ArrayList 在创建时若不指定元素个数,会使用默认值:private static final int DEFAULT_CAPACITY = 10;内部相当于创建了一个: Object[] object = new Object[10];应为数组的容量在创建时指定,且固定不可变,ArrayList添加...

2019-12-18 14:30:33 300

原创 java8LocalDate工具

https://blog.csdn.net/java_collect/article/details/84900553

2019-12-04 14:01:55 157

原创 maven package和inatall和deploy的区别

mvn clean package :打包到根目录但是不部署到本地仓库mvn clean install : 打包到根目录并部署到本地仓库mvn clean deploy 打包到根目录并分别部署到本地仓库和远程仓库-U 更新本地仓库为最新状态-e 显示错误信息...

2019-11-30 11:02:10 438

原创 设计模式:适配器模式

适配器模式(Adapter Pattern)的官方解释:适配器模式把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。很难理解官方这种说给懂的人听的解释,一般在学习设计模式时,首先疑问最大的就是,什么时候该用到这种设计模式是最合理的呢,我觉得比较直观得还是找出某项目中使用该设计模式,和不使用该设计模式的直接对比,这样理解起来就有一种...

2019-11-19 21:29:34 160

原创 设计模式:代理模式

为什么要使用代理模式:比较官方的回答:在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用,其特征是代理类与委托类有同样的接口。代理模式是常用的java设计模式。看完这个解释依然云里雾里,我觉得代理除了上述功能,最易理解的是,在原有代码的基础上增加功能时,不会修改原有代码,非常符合程序设计的开闭原则。代理模式一般分为静态代理和动态...

2019-11-18 19:59:00 170

原创 设计模式:工厂模式

建议大家不要看我的文章,我写的比较随性,推荐神作地址,通俗易懂:https://blog.csdn.net/LoveLion/article/details/9319181https://blog.csdn.net/LoveLion/article/details/9319323https://blog.csdn.net/LoveLion/article/details/9319423...

2019-11-18 10:09:39 194

原创 工作上碰到过两种人

第一种:任务安排下来,问清楚内容后,直接离开,然后默默的在那里工作,不闻不问。工作期限是7天,在第六天的时候,直接交付任务,并且完成的很不错。第二种:任务安排下来,然后各种问题询问,隔三岔五出现一个问题,到第七天晚上还出现了问题无法解决,和领导一起熬夜加班解决,最终完成交付。...

2019-11-15 15:20:04 158

原创 设计模式:单例模式

单例模式四大原则:1.构造器必须私有化,私有化后类加载一次后无法在通过其他手段创建对象。2.通过方法或枚举获取对象,在类加载时实例化对象,且无法通过外部手段创建额外对象。3.确保实例只有一个,尤其是多线程环境。4.确保反序列换时不会重新构建对象。单例模式的特点: 1、单例类只能有一个实例。  2、单例类必须自己创建自己的唯一实例。  3、单例类必须给所有其他...

2019-11-14 17:24:09 175

原创 java多线程:BlockingQueue

Queue队列遵循了先进先出的原则BlockingQueue继承了Queue可以通过IDEA的UML图看出彼此的关系:BlockingQueue :阻塞队列向队列尾添加元素(put()方法)时,若队列已经塞满,则当前线程会被阻塞,直到队列中元素被消费,出现空余位置,则线程继续工作向队列头取元素(take()方法)时,若队列为空,则当前线程会被阻塞,直到队列中出现新的元素,当...

2019-11-12 19:12:22 212

原创 java多线程:内存可见性

内存可见性:一个线程在对一个共享变量执行操作时,会对其他线程可见。共享变量:多个线程的工作内存中同时存在该变量的副本,该变量称为共享变量。工作内存:变量在主内存中被创建,每个线程可共享该主内存,线程在创建时会分配一个只对该线程可见的私有的工作内存,该工作内存对其他线程不可见。线程对变量的所有操作都在工作内存中完成,一个线程在访问某个变量时,会把该变量从主内存读入到自己的工作内存中(成为该线...

2019-11-11 17:39:16 159

原创 反应式编程map操作符

最近一直在学习反应式编程,分享些容易理解的干货,有误请积极指正,谢谢大家Rxjava种反应式编程提供了Observable : 被观察者(发布者)Subscriber:观察者(订阅者)//原始方法创建简单的ObservableObservable<String> observable = Observable.create( new Observable....

2019-10-28 14:59:19 177

原创 java。编程拜师

求个师傅,编程路空有一身报复,无奈路途迷茫,时间和资金紧张,求师傅指点,愿做关门弟子,传承师傅的编程思想,有缘的话留下联系方式。

2019-10-28 10:37:15 428 4

原创 java关键字记录

transient:java中序列化是指,把数据以字节序列的方式存储或者表示数据。transient防止该关键字修饰的对象被序列化volaite:同步该关键字修饰的对象被线程共享,且值对于谋个线程永远是最新值!...

2019-10-23 13:11:25 203

原创 并发和并行的区别

并发:单核cup实际每次只能处理一个进程,为了防止进程占用cup处理时间,于是出现了操作系统调度器,而进程则是调度单位。调度器切换cup给不同进程使用的速度非常快,快到根本就发现不了,给我们的感觉就像是同时处理了多个进程,实际上cup每次只能处理一个进程。单核cpu在工作时也会用到其他程序比如内存,显卡,磁盘等,需要来回切换进程。由于进程之间资源无法共享,来回切换会耗费很多时间。于是需要出...

2019-10-22 22:29:23 167

原创 tomcat各组件和server.xml的关系图

图一图二各组件的关系和作用:https://www.cnblogs.com/hggen/p/6264475.html这篇文章写的比较好

2019-09-11 10:48:48 154

原创 java类加载器笔记

类加载器加载顺序:1.启动类加载器:Bootstrap ClassLoder2.扩展类加载器:Extendsion ClassLoder3.应用类加载器:Application ClassLoder双亲委派模型:所有类加载器在加载类的时候都会让父类加载器先加载该类,当父类加载器无法加载该类时,该类才会自行加载类。这样避免了某些类在加载时出现不同类型,如java.lang.Objec...

2019-09-10 20:36:53 162

原创 使用泛型创建简单内部链式存储机制

今天看书看到了一个非常有意思的代码,源代码在《think in java》弟357页,代码如下:package B;public class LinkedStack {private static class Node{U item;Node next;Node(){item = null;next = null;}Node(U item

2017-10-24 10:45:40 531

翻译 java学习阶段建议(转自他人微博)

对于Java程序猿学习的建议这一部分其实也算是今天的重点,这一部分用来回答很多群里的朋友所问过的问题,那就是LZ你是如何学习Java的,能不能给点建议?今天LZ是打算来点干货,因此咱们就不说一些学习方法和技巧了,直接来谈每个阶段要学习的内容甚至是一些书籍。这一部分的内容,同样适用于一些希望转行到Java的同学。在大家看之前,LZ要先声明两点。1、由于LZ本人是Java后端开发出身,

2016-09-07 18:52:50 717

原创 人生计划那点事儿。。。。。。。

人生计划那点事儿。。。。。。。

2016-09-07 14:02:52 663 2

原创 使用jdbc驱动和.properties配置文件获取数据源的代码(注释详细,值得一看)

package util;import java.io.InputStream;import java.util.Properties;import javax.sql.DataSource;import org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory;public class DBCPUtil {  private

2016-09-02 22:16:57 1520

翻译 jsp的window对象的属性和方法大全

大全:frames 表示当前窗口中所有frame对象的数组status 表示浏览器的状态行信息defaultstatus 表示浏览器的状态行信息history 表示当前窗口的历史记录,这可以引用在网页导航中closed 表示当前窗口是否关闭的逻辑值document 表示当前窗口中显示的当前文档对象-----电脑教程技术学习网location 表示当前窗口中显示的当前UR

2016-09-01 18:43:21 5082 2

原创 maven管理的web项目部署到tomcat后web-info的lib文件夹下不加载jar包的问题

这几天在使用公司搭的新框架,使用maven管理的web工程,用eclipse操作的,maven版本3.3.9,这个版本只能使用JDK1.7以上的版本。首先遇到的问题是,把web项目部署到tomcat中后,运行tomcat一直报错找不到类ContextLoaderListener,看了一下maven本地库是有这个jar包的,在spring-web.jar中,于是百度了好久,终于找到了

2016-08-16 17:58:16 10268 3

原创 struts2拦截器报错 Struts2 的错误----couldn't clear tomcat cache java.lang.NoSuchFieldException: resourceEnt

1.请求发送后无法找到package的位置或者action的方法,都会报此错误,这是应该检查一下请求的地址和struts2.xml中的配置是否一致2.配置struts2的拦截器的时候,请求被拦截后,ruturn 一个页面时说找不到这个页面,仔细检查了一下struts2的配置,发现原来是配置没有写对,在这里把原配置和修改后的配置贴出来,首先看拦截器的代码:再来看一

2016-08-11 22:39:49 8105

原创 eclipse中启动tomcat报错

解压tomcat的压缩包后,在其bin目录中启动tomcat能访问首页信息,部署在eclipse中后,用eclipse启动后台不报错,但是访问首页时报错、;错误原因是eclipse中安装tomcat成功后默认的项目部署空间不是tomcat的workapps工作空间,应次要修改此空间位置:这是没修改之前的默认数据:

2016-08-01 14:18:21 928

node.js+angularJs+typeScript的小项目,结构完整

angularJs+node.js的小项目,结构完整。

2019-03-26

SSM+bootstrap+mysql做的一个用户登录和权限控制小项目

SSM+bootstrap+mysql做的一个用户登录和权限控制小项目,增删改查,登录权限控制,按钮权限控制

2018-10-10

微信html5的5个精美模块,亲自修改过

html5微信模块精美页面,可以参考或自己用

2016-08-15

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

TA关注的人

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