自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Wayne_y的博客

Wayne_y的博客

  • 博客(48)
  • 收藏
  • 关注

原创 软引用、弱引用、虚引用

为什么会有这4种引用Java中的引用的定义很传统:如果reference类型的数据中存储的数值代表的是另外一块内存的起始地址,就称这块内存代表着一个引用。 这种定义很纯粹,但是太过狭隘,一个对象在这种定义下只有被引用或者没有被引用两种状态,对于如何描述一些“食之无味,弃之可惜”的对象就显得无能为力。 我们希望能描述这样一类对象:当内存空间还足够时,则能保留在内存之中;如果内存空间在进行垃圾收集...

2019-04-17 18:26:43 328 1

原创 mybatis 批量插入返回主键 和 神坑 layui 阿里矢量图标库 不显示图标

pom里面添加这个就行!!!<plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugi...

2019-03-28 18:31:13 450

转载 BitMap算法

BitMapBitMap从字面的意思,很多人认为是位图,其实准确的来说,翻译成基于位的映射。在所有具有性能优化的数据结构中,大家使用最多的就是hash表,是的,在具有定位查找上具有O(1)的常量时间,多么的简洁优美。但是数据量大了,内存就不够了。当然也可以使用类似外排序来解决问题的,由于要走IO所以时间上又不行。所谓的Bit-map就是用一个bit位来标记某个元素对应的Value,...

2018-10-10 15:00:42 391 1

原创 J2SDK

电脑默认path:%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPow...

2018-07-12 15:27:14 2226

转载 Java中==、equals()和hashCode()的比较分析

1、前言在Java语言中,==、equals()、hashCode()这三个方法都和对象的比较有关,但这三个方法各有什么用处,也就是说为什么要设计三种对象的比较方法呢?2、关于====设计的目的就是为比较两个对象是否是同一个对象。比较对象的相等不仅要比较对象内容相等,还要比较对象引用地址是否相等。对于基本数据类型而言,比较就是判断这两个数值是否相等,(基本数据类型没有方法),不存在equals()...

2018-05-13 12:15:34 885 1

转载 ConcurrentHashMap详解

一、背景:线程不安全的HashMap    因为多线程环境下,使用Hashmap进行put操作会引起死循环,导致CPU利用率接近100%,所以在并发情况下不能使用HashMap。 效率低下的HashTable容器     HashTable容器使用synchronized来保证线程安全,但在线程竞争激烈的情况下HashTable的效率非常低下。因为当一个线程访问HashTable的同步方法时,其他...

2018-05-10 23:01:07 477

原创 HashMap详解

HashMap概述① 基于哈希表的Map接口的非同步实现②允许使用null值与null键③提供所有可选的映射操作④不保证映射顺序,特别不保证该顺序恒久不变HashMap数据结构HashMap实际上是一个“链表散列”的数据结构,即数组和链表的结合体。数组数组存储区间是连续的,占用内存严重,故空间复杂的很大。但数组的二分查找时间复杂度小,为O(1);数组的特点是:寻址容易,插入和删除困难;链表链表存储...

2018-05-10 15:51:22 386

转载 顺序表与数组

顺序表是在计算机内存中以数组的形式保存的线性表。顺序表是指用一组地址连续的存储单元依次存储数据元素的线性结构。线性表采用顺序存储的方式存储就称之为顺序表,顺序表是将表中的结点依次存放在计算机内存中一组地址连续的存储单元中。线性表采用指针链接的方式存储就称之为链表。线性表是从逻辑结构的角度来说的,除了头和尾之外,它的每一个元素都只有一个前驱元素和一个后驱元素。各种队列(单向、双向、循环队列),栈等都...

2018-04-28 17:32:52 13125 4

原创 JSONObject/JSONArray的区别

JSONObject/JSONArray的区别(1)JSONObject : java对象,用{}包裹起来 例如:{”id”:1 , “username”:”wp”} (2)JSONArray : 数组或字符串[1,2,3] (3)特殊形式: {“id”:1 , “username:” :”wp” , “books” :[{“book1” : “java开发”},{ “book2” : “andr...

2018-04-24 16:38:05 179

原创 @ResposeBody与@RequestBody

今天在做项目的时候,是SSM项目。交互全部都是ajax,以前做的项目都是手写的jsonObject写到流中。现在用的是@ResponseBody,将结果解析为json。但是出现有中文乱码问题。解决办法:@ResponseBody@RequestMapping(value="/list", produces = "application/json; charset=utf-8")原因是Spring...

2018-04-23 20:12:08 423

原创 SpringMvc

Spring MVCSpring MVC 的入口是 DispatcherServlet ,所有的请求都会汇集于该类,而后分发给不同的处理类。如果不做额外的配置,是无法访问静态资源的。如果想让 Dispatcher Servlet 直接可以访问到静态资源,最简单的方法当然是交给默认的 Servlet 。@Configuration@EnableWebMvcpublic class WebConf...

2018-04-22 21:18:40 140

转载 Shiro综合实例

简单的实体关系图 简单数据字典用户(sys_user)名称类型长度描述idbigint 编号 主键usernamevarchar100用户名passwordvarchar100密码saltvarchar50盐role_idsvarchar100角色列表lockedbool 账户是否锁定组织机构(sys_organization)名称类型长度描述idbigint 编号 主键namevarchar10...

2018-04-18 21:29:00 245

转载 Shiro之Spring整合

Shiro的组件都是JavaBean/POJO式的组件,所以非常容易使用Spring进行组件管理,可以非常方便的从ini配置迁移到Spring进行管理,且支持JavaSE应用及Web应用的集成。 在示例之前,需要导入shiro-spring及spring-context依赖,具体请参考pom.xml。spring-beans.xml配置文件提供了基础组件如DataSource、DAO、Servic...

2018-04-18 21:26:54 275

转载 Shiro之授权

授权,也叫访问控制,即在应用中控制谁能访问哪些资源(如访问页面/编辑数据/页面操作等)。在授权中需了解的几个关键对象:主体(Subject)、资源(Resource)、权限(Permission)、角色(Role)。主体主体,即访问应用的用户,在Shiro中使用Subject代表该用户。用户只有授权后才允许访问相应的资源。资源在应用中用户可以访问的任何东西,比如访问JSP页面、查看/编辑某些数据、...

2018-04-18 20:59:54 436

转载 Shiro身份认证Authenticator

·身份验证,即在应用中谁能证明他就是他本人。一般提供如他们的身份ID一些标识信息来表明他就是他本人,如提供身份证,用户名/密码来证明。在shiro中,用户需要提供principals (身份)和credentials(证明)给shiro,从而应用能验证用户身份:·principals:身份,即主体的标识属性,可以是任何东西,如用户名、邮箱等,唯一即可。一个主体可以有多个principals,但只有...

2018-04-17 17:04:21 1706

原创 Shiro简介

1.1  简介Apache Shiro是Java的一个安全框架。目前,使用Apache Shiro的人越来越多,因为它相当简单,对比Spring Security,可能没有Spring Security做的功能强大,但是在实际工作时可能并不需要那么复杂的东西,所以使用小而简单的Shiro就足够了。对于它俩到底哪个好,这个不必纠结,能更简单的解决项目问题就好了。 Shiro可以非常容易的开发出足够好...

2018-04-17 16:56:45 206

转载 Spring 整合CXF

CXF依赖:&lt;!-- 添加cxf支持 --&gt;&lt;dependency&gt; &lt;groupId&gt;org.apache.cxf&lt;/groupId&gt; &lt;artifactId&gt;cxf-core&lt;/artifactId&gt; &lt;version&gt;3.1.5&lt;/version&gt;&a

2018-04-16 22:15:45 164

原创 CXF自定义拦截器

服务器端:main:public static void main(String[] args) { System.out.println("start"); HelloWorld implementor=new HelloWorldImpl(); String address="http://192.168.77.1:8121/helloWorld"; JaxWsServe...

2018-04-16 20:42:07 347

原创 CXF处理复杂类型的数据

今天在学习WebService的时候用到@WebService注解,但是总是报错。因为没有这个包。搞了半个小时,终于解决了。因为用的是java 10,因为java 9开始加入模块的概念。在java9/10中并没有javax.jws包。最后还是安了个java8了终于搞好了,maven添加依赖的的形式,高了好久没有搞出来,实在是不推荐。CXF解决Map等复杂类型maven依赖: &lt;depende...

2018-04-15 22:07:52 716

原创 Lucene实战

写索引·获取IndexWriterpublic IndexWriter getIndexWriter(String path) throws IOException { Directory dir=FSDirectory.open(Paths.get(path));//获取目录对象 索引将写在这个目录里面 Analyzer analyzer=new StandardAnalyzer...

2018-04-11 22:03:03 353

转载 Lucene(一)

Lucene概述Lucene是一款高性能的、可扩展的信息检索(IR)工具库。信息检索是指文档搜索、文档内信息搜索或者文档相关的元数据搜索等操作。索引过程:①获取内容②建立文档 获取原始内容后,就需要对这些内容进行索引,必须首先将这些内容转换成部件(通常称为文档),以供搜索引擎使用。文档主要包括几个带值的域,比如标题、正文、摘要、作者和链接。③文档分析 搜索引擎不能直接对文本进行索引:确切地说,必须...

2018-04-11 20:56:53 272

原创 单例模式

单例模式的动机对于系统中的某些类来说,只有一个实例很重要。例如,一个系统中可以存在多个打印任务,但是只有一个正在工作的任务;一个系统中只能有一个窗口管理器或者文件系统;一个系统中只能一个计时工具或者ID(序号程程期。加入在Windows中就只能打开一个任务管理器。如果不使用机制对窗口对象进行唯一化,将弹出多个窗口,如果这些窗口显示的内容是完全一致的,则是重复对象,浪费内存资源。如果这些窗口现实的内...

2018-04-09 12:23:49 138

原创 类加载机制

JVM加载类的过程分为如下几个部分(下文中★为重重重点)加载(Loading)类的Loading指的是将类的.class文件中的二进制数据读到内存中,将其放在运行时数据区的方法区内。然后在堆区创建一个java.lang.Class对象,用来封装在方法区内的数据结构。类的加载的最终产品是位于堆区的Class对象,Class对象封装了类在方法区内的数据接口,并且向Java程序员提供了访问方法区内数据接...

2018-04-06 20:09:21 141

原创 java反射机制

前言首先了解一下JVM,Java的虚拟机,他会将程序弄成机器码,跳过了操作系统运行,所以他跨平台。他可以说是一个进程,专门来跑你的代码的。假如你写了一段代码:Object o=new Object();运行了起来!首先JVM会启动,你的代码会编译成一个.class文件,然后被类加载器加载进jvm的内存中,你的类Object加载到方法区中,创建了Object类的class对象到堆中,注意这个不是ne...

2018-04-06 12:56:24 118

原创 静态代理与动态代理

首先,什么是代理?代理的作用是什么?这里我们先讨论什么是代理,他是干嘛的。代理在实际生活中有这大量的应用,我们来举一个例子。假如,我开了一家咖啡店,我现在是咖啡店的前台,我们店还有专门做咖啡的师傅。你来买咖啡,你肯定是在跟我谈(要什么咖啡,放不放糖,吃什么点心),但是咖啡却是师傅做的,我没有参与咖啡的制作。但是我却可以按照你的需求,要求师傅做你想要的咖啡。在这里,服务员就是一个代理,他代理了做咖啡...

2018-04-05 20:01:34 132

原创 Servlet容器初始化Spring Ioc容器

&lt;!-- ServletContext参数,配置Ioc容器的xml文件名 --&gt; &lt;context-param&gt; &lt;param-name&gt;contextConfigLocation&lt;/param-name&gt; &lt;param-value&gt;classpath:applicationContext.xml&lt;/param-value...

2018-04-01 15:14:49 756

转载 Spring Bean 生命周期

对于普通的Java对象,当new的时候创建对象,当它没有任何引用的时候被垃圾回收机制回收。而由Spring IoC容器托管的对象,它们的生命周期完全由容器控制。Spring中每个Bean的生命周期如下:1.Bean的定义(1) Resource定位,这不是Spring Ioc容器根据开发者的配置,进行资源定位,在Spring开发中,定位的内容是由开发者提供的,一般XML或者注解都是非常常见的方式。...

2018-03-26 23:38:41 147

转载 Mysql时间类型

mysql(5.5)所支持的日期时间类型有:DATETIME、 TIMESTAMP、DATE、TIME、YEAR。几种类型比较如下:日期时间类型占用空间日期格式最小值最大值零值表示 DATETIME 8 bytes YYYY-MM-DD HH:MM:SS 1000-01-01 00:00:009999-12-31 23:59:59 0000-00-00 00:00:00 TIMESTAMP 4 b...

2018-03-18 20:08:02 307

原创 java 多线程

Thread类的sleep()方法和对象的wait()方法都可以让线程暂停执行,它们有什么区别? 答:sleep()方法(休眠)是线程类(Thread)的静态方法,调用此方法会让当前线程暂停执行指定的时间进入阻塞状态,将执行机会(CPU)让给其他线程,但是对象的锁依然保持,因此休眠时间结束后会自动恢复(线程回到就绪状态)。wait()是Object类的方法,调用对象的wait()方法导致当前线程放...

2018-03-12 21:42:37 151

转载 自动装箱与拆箱

什么是自动装箱拆箱基本数据类型的自动装箱(autoboxing)、拆箱(unboxing)是自J2SE 5.0开始提供的功能。 一般我们要创建一个类的对象实例的时候,我们会这样: Class a = new Class(parameter); 当我们创建一个Integer对象时,却可以这样: Integer i = 100; (注意:不是 int i = 100; )实际上,执行上面那句代码的时候...

2018-03-10 11:02:27 202

原创 jQuery解析Json

在WEB数据传输过程中,json是以文本,即字符串的轻量级形式传递的,而客户端一般用JS操作的是接收到的JSON对象,所以,JSON对象和JSON字符串之间的相互转换、JSON数据的解析是关键。先明确2个概念例如:JSON字符串:              var str1 = '{ "name": "deyuyi", "sex": "man" }';JSON对象:                ...

2018-03-08 21:47:18 530

原创 ajax

1.什么是AJAX?AJAX全称为“Asynchronous JavaScript and XML”(异步JavaScript和XML),是一种创建交互式网页应用的网页开发技术。它使用:使用XHTML+CSS来标准化呈现;使用XML和XSLT进行数据交换及相关操作;使用XMLHttpRequest对象与Web服务器进行异步数据通信; 使用Javascript操作Document Object Mo...

2018-03-08 21:23:55 386

转载 SpringMVC 的 Controller 返回各种视图的处理方式

SpringMVC 的 Controller 可以返回各种各样的视图。比如 JSP, JSON, Velocity, FreeMarker, XML, PDF, Excel, 还有Html字符流 等等。那它们该如何的进行处理的呢?这里就涉及到 各种视图(View)对应的各种视图解析器(ViewResolver). 基本上上面说的每一种视图就对应用一种视图解析器来处理。基本上各种视图解析器大致上可以...

2018-03-06 21:46:25 270

转载 response详解

1 response概述response是Servlet.service方法的一个参数,类型为javax.servlet.http.HttpServletResponse。在客户端发出每个请求时,服务器都会创建一个response对象,并传入给Servlet.service()方法。response对象是用来对客户端进行响应的,这说明在service()方法中使用response对象可以完成对客户...

2018-03-06 21:36:57 1689

原创 Spring Security inMemoryAuthentication 验证失败

异常java.lang.IllegalArgumentException: There is no PasswordEncoder mapped for the id “null”描述:要求我们提供一个密码编码器PS:有些版本不要求这样子做,所以就不会有该问题的发生,我现在用的是5.0版本,强制要求提供一个,所以我们就给一个PasswordEncoder给他.我们也可以使用Spring自带的...

2018-03-05 20:46:57 1684 1

原创 maven配置

鸟枪变大炮maven远程仓库的下载jar包的速度很慢,因为远程仓库在国外在settings.xml中配置镜像,三种选择(首选阿里云)1、阿里云的镜像站(首推,新站,速度暴快)。&lt;mirror&gt; &lt;id&gt;nexus-aliyun&lt;/id&gt; &lt;name&gt;Nexus aliyun&lt;/name&gt; &lt;...

2018-03-04 12:05:45 159

原创 String,StringBuffer,StringBuilder

Java中的字符串都是作为对象处理的,用字符串类来封装一个字符串的字符串序列以及有关的信息,如长度等。字符串类位于java.lang包中。有三个类:其中string类用来处理常量字符串, 而StringBuffer与StingBuilder则用来处理长度与内容可变的字符串,这三个类都被声明而final,不能被继承。StringBuilder类是JDK1.5引入的,与StringBuffer几乎完全...

2018-03-01 16:48:42 202

转载 String类源码分析

String类介绍  String 类是日常开发中使用最频繁的类之一,同时也是非常重要的一个类,因此很有必要针对String类的进一步的理解和分析,而不能仅仅停留在会用的地步。如下图所示,String类实现了Serializable, Comparable, CharSequence接口。String类被final所修饰,也就是说String对象是不可变类,是线程安全的,至于为什么这么设计,后面将...

2018-03-01 15:42:01 293

原创 web.xml配置

&lt;context-param&gt;的作用和用法:&lt;context-param&gt;配置是是一组键值对,比如: &lt;context-param&gt;        &lt;param-name&gt;home-page&lt;/param-name&gt;        &lt;param-value&gt;home.jsp&lt;/param-value&gt;    &am

2018-02-27 19:59:16 163

原创 equals()与 “==”的区别

Java中默认的 equals方法实现如下:public boolean equals(Object obj){ return(this==obj);//如果两个引用指向同一个对象,则返回true,否则返回false}但是String类覆盖了这个方法(注意看注释):public boolean equals(Object anObject) { if (this == anObj...

2018-02-23 17:21:43 311

空空如也

空空如也

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

TA关注的人

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