自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 问答 (1)
  • 收藏
  • 关注

原创 spring AOP 总结

应用场景用户注册,注册成功之后进行邮件通知,初始化客户数据等操作,可以丢进消息队列,通知对应的业务服务进行相应的操作,保证用户注册的性能。MQ优点异步消峰解耦消息队列利用”发布-订阅“工作,消息发送者发送消息至分布式消息队列即结束对消息的处理,消息接收者从消息队列读取消息进行后续处理。对新增业务,只要对该类消息感兴趣,即可订阅该消息,对原有系统和业务没有任何影响,从而实现网站业务的可...

2019-08-05 22:31:36 186

转载 sql优化

写明查询具体某几列,减少*的使用,表名过长时,尽量使用表的别名*和列名一样2,在业务密集的SQL当中尽量不采用IN操作符,用EXISTS 方案代替。in 和 exists的区别: 如果子查询得出的结果集记录较少,主查询中的表较大且又有索引时应该用in, 反之如果外层的主查询记录较少,子查询中的表大,又有索引时使用exists。其实我们区分in和exists主要是造成了驱动顺序的改变(这是...

2019-03-23 16:50:55 170

转载 java中读写锁的使用(ReadWriteLock)

一、在JDK文档中关于读写锁的相关说明ReadWriteLock 维护了一对相关的 锁 ,一个用于只读操作,另一个用于写入操作。只要没有 writer, 读取锁 可以由多个 reader 线程同时保持。 写入锁 是独占的。 所有 ReadWriteLock 实现都必须保证 writeLock 操作的内存同步效果也要保持与相关 readLock 的联系。也就是说,成功获取读锁的线程会看到写入锁...

2018-05-18 15:09:47 2294

转载 java 静态代理和动态代理

1、动态代理(Dynamic Proxy)   代理分为静态代理和动态代理,静态代理是在编译时就将接口、实现类、代理类一股脑儿全部手动完成,但如果我们需要很多的代理,每一个都这么手动的去创建实属浪费时间,而且会有大量的重复代码,此时我们就可以采用动态代理,动态代理可以在程序运行期间根据需要动态的创建代理类及其实例,来完成具体的功能。   其实方法直接调用就可以完成功能,为什么还要加个代理呢? ...

2018-03-05 21:01:11 280

转载 Unicode和UTF-8

ASCII码 我们知道,在计算机内部,所有的信息最终都表示为一个二进制的字符串。每一个二进制位(bit)有0和1两种状态,因此八个二进制位就可以组合出256种状态,这被称为一个字节(byte)。也就是说,一个字节一共可以用来表示256种不同的状态,每一个状态对应一个符号,就是256个符号,从0000000到11111111。 上个世纪60年代,美国制定了一套字符编码,对英语字符与二进制位之间的关

2017-10-15 23:00:08 271

转载 JVM 中的永久代

PermGen(永久代)绝大部分 Java 程序员应该都见过 “java.lang.OutOfMemoryError: PermGen space “这个异常。这里的 “PermGen space”其实指的就是方法区。不过方法区和“PermGen space”又有着本质的区别。前者是 JVM 的规范,而后者则是 JVM 规范的一种实现,并且只有 HotSpot 才有 “PermGen space”,

2017-10-15 09:52:11 7007

转载 二叉树前序,中序,后序遍历

今天来总结下二叉树前序、中序、后序遍历相互求法,即如果知道两个的遍历,如何求第三种遍历方法,比较笨的方法是画出来二叉树,然后根据各种遍历不同的特性来求,也可以编程求出,下面我们分别说明。首先,我们看看前序、中序、后序遍历的特性: 前序遍历: 1.访问根节点 2.前序遍历左子树 3.前序遍历右子树 中序遍历: 1.中序遍历左子树 2.

2017-09-12 22:57:47 502

原创 Linux下添加新网卡eht3

1、修改配置文件vim /etc/udev/rules.d/70-persistent-net.rules 这里定义了四个网卡,其中NAME为eth3的网卡为我们自己新增的网卡,复制eth3对应的mac地址00:0c:29:16:5c:0b3、接下来修改/etc/sysconfig/network-scripts/ifcfg-eth3文件,将mac地址修改成与70-persistent-net.r

2017-09-11 16:47:39 986

转载 二叉树的前序、中序和后序遍历

1.前根序遍历:先遍历根结点,然后遍历左子树,最后遍历右子树。ABDHECFG2.中根序遍历:先遍历左子树,然后遍历根结点,最后遍历右子树。HDBEAFCG3.后根序遍历:先遍历左子树,然后遍历右子树,最后遍历根节点。HDEBFGCA

2017-09-11 11:27:50 444

转载 堆排序

1. 堆原理1.父结点的键值总是大于或等于(小于或等于)任何一个子节点的键值。2.每个结点的左子树和右子树都是一个二叉堆(都是最大堆或最小堆)。当父结点的键值总是大于或等于任何一个子节点的键值时为最大堆。当父结点的键值总是小于或等于任何一个子节点的键值时为最小堆。可以看出,其实堆排序的数据都是存储在数组中的,只是我们操作的时候把它用作完全二叉树进行排序。3 . 堆的存储 一般都用数组来表示堆,i结

2017-09-11 11:17:07 216

原创 java并发编程

http://www.cnblogs.com/paddix/p/5374810.html

2017-09-07 21:10:51 246

转载 String 内存分配

看了好多文章,网上大多数文章写的不是很详细,结合很多文章之后,写下自己的理解 从一个例子开始String s = new String( "myString" );其中字符串常量是”myString”,在编译时被存储在常量池(常量池在方法区)的某个位置。在解析阶段,虚拟机发现字符串常量”myString”,它会在一个内部字符串常量列表中查找,如果没有找到,那么会在堆里面创建一个包含字符序列[myS

2017-09-04 16:07:16 398

原创 LintCode - 数组 - 132 Pattern

描述Given a sequence of n integers a1, a2, …, an, a 132 pattern is a subsequence ai, aj, ak such that i < j < k and ai < ak < aj. Design an algorithm that takes a list of n numbers as input and checks wh

2017-09-01 22:44:13 303

转载 Java内存区域划分

Java与C++之间有一堵由内存动态分配和垃圾收集技术所围成的“高墙”,墙外面的人想进去,墙里面的人却想出来。 Java虚拟机在执行Java程序的过程中会把它管理的内存划分为若干个不同的数据区域。java虚拟机运行时数据区一、程序计数器程序计数器可以看做是当前线程所执行的字节码的行号指示器。在JVM的概念模型里,字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令。

2017-09-01 12:15:22 306

转载 linux下安装mysql

安装环境:系统是 centos6.51、下载    下载地址:http://dev.mysql.com/downloads/mysql/5.6.html#downloads    下载版本:我这里选择的5.6.33,通用版,linux下64位    也可以直接复制64位的下载地址,通过命令下载:wget http://dev.mysql.com/get/Downloads/MySQL-5.6

2017-04-23 11:55:55 425

转载 freemarker常用标签

一、FreeMarker模板文件主要有4个部分组成1、文本,直接输出的部分2、注释,即<#–…–>格式不会输出3、插值(Interpolation):即${..}或者#{..}格式的部分,将使用数据模型中的部分替代输出4、FTL指令:FreeMarker指令,和HTML标记类似,名字前加#予以区分,不会输出。  1、文本,直接输出的部分FTL指令规则FreeMarker有三种FTL标签,这

2017-04-12 21:00:55 9253

原创 solr schema.xml 加入中文分析器 IKAnalyzer 就找不到solrcore

solr-4.10.3 兼容 IKAnalyzer2012_u6.jar会出现问题,换用IKAnalyzer2012FF_u1.jar即可解决问题

2017-04-01 16:49:33 899

转载 spring @Autowired与@Resource 的区别

1、@Autowired与@Resource都可以用来装配bean. 都可以写在字段上,或写在setter方法上。 2、@Autowired默认按类型装配(这个注解是属业spring的),默认情况下必须要求依赖对象必须存在,如果要允许null 值,可以设置它的required属性为false,如:@Autowired(required=false) ,如果我们想使用名称装配可以结合@Qualifie

2017-02-26 16:05:31 332

原创 failed to read candidate component class

大多数原因都是因为spring3.x不被jdk1.8支持,所以解决办法就是改变工程的jdk版本在eclipse选择到要改变jdk版本web工程,右键–>properties–>Project Facets–>java 改为1.7

2017-02-25 22:33:39 659

转载 springmvc解决乱码问题(get和post)

1.post提交出现的中文乱码问题解决办法:在web.xml中添加过滤器<filter><filter-name>characterEncodingFilter</filter-name><filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class><init-param><param

2017-02-06 12:31:39 360

转载 锁、事务、隔离级别--readonly

为什么需要锁?因为数据库要解决并发控制问题。在同一时刻,可能会有多个客户端对Table1.rown进行操作,比如有的在读取该行数据,其他的尝试去删除它。为了保证数据的一致性,数据库就要对这种并发操作进行控制,因此就有了锁的概念。锁的分类从对数据操作的类型(读\写)分读锁(共享锁):针对同一块数据,多个读操作可以同时进行而不会互相影响。写锁(排他锁):当当前写操作没有完成前,它会阻断其他写锁和读锁。从

2017-01-01 16:31:41 971

原创 ORA-12514: TNS:listener does not currently know of service requested in connect descriptor

Oracle进入sql命令行,每句sql语句后面都要加分号,但是,连接数据库时就千万别加分号了,比如sqlplus scott/[email protected]:1521/orcl;分号会作为连接语句的一部分,然后就报错ORA-12514: TNS:listener does not currently know of service requested in connect descrip

2016-12-29 16:53:24 844

原创 同一个包下的公开类编译时找不到。问题解决

学过java的人都知道,如果在同一个包下,一个类是可以直接引用同个包下的用public修饰的类。 但是有没有试过用doc命令行进去包目录结构下编译一个类时,这个类引用的同个包下的公开类编译时找不到(或许会报ClassNotFoundException),前提是被调用的公开类已经先被编译并通过了。这里提供一个解决方法: 原因:其实这里出现的问题跟源文件没有任何关系,关键错在,你进去包目录下编译文件

2016-12-28 21:18:08 5992 1

原创 在虚拟机中安装orcle问题解决

相信大多数人装完orcle后如果遇到问题的话,大多数都是下面这两个(1) ORA-12541:TNS:no listener 这个一般是Oracle安装目录下的listener.ora(我的虚拟机位置为c:\app\trainging\product\11/2.0\dbhome_1\NETWORD\ADMIN下) host有问题,打开listener.ora,将会看到配置LISTENER

2016-12-24 21:18:50 589

原创 JAVA 实现的 生成验证码图片 工具类

在登陆和注册可以使用,工具类将图片的IO流通过response输出到浏览器,在浏览器中可以使用 img标签的src属性路径写上该工具类的访问路径即可。 <img onclick="changeImg()" id="checkImg" class="captchaImage" src="${pageContext.request.contextPath}/checkImg" title="点击

2016-12-10 11:20:12 1858

原创 XML 笔记

DOM解析原理:一次性把xml文档加载成Document树,通过Document对象得到节点对象,通过节点对象访问xml文档内容(标签,属性,文本,注释)。 缺点:不适合读取大容量xml文件,导致内存溢出。xml对象的一些方法:节点:Iterator Element.nodeIterator(); //获取当前标签节点下的所有子节点标签: Element Document.getRoo

2016-12-01 20:39:48 535

原创 com.sun.proxy.$Proxy4 cannot be cast to spring.HelloService

用spring获取bean的时候遇到代理对象不能转化为本类对象的问题HelloService hello = (HelloService) application.getBean("helloService");这个是 HelloService 实现 IhelloService接口public class HelloService implements IhelloService{ @Ove

2016-11-01 22:15:01 1795

原创 javascript 笔记

javascript是弱类型语言。1.结合方式1.在head标签内直接用 <script type="text/javascript"></script>2.新建一个js文件 xx.js 然后引用 <script type="text/javascript" src="hello.js"></script>2.数据类型js数据类型分为原始数据类型和对象数据类型。 js的原始类型

2016-10-25 19:40:52 450

原创 Path must include project and resource name: /struts-default.xml

解决办法: 找到web项目下的 struts2 的 jar包 ,然后 右键add built-path 一下 就ok了照理来说,在myeclipse中web项目下的WEB-INF/lib下加入了 struts2的jar包的时候会自动自动添加built-path的,但是这里要另外在找到jar包右键add built-path 一下就不会报错了!!

2016-10-19 10:55:56 950

原创 mysql 笔记

DDL–对库的操作语句创建库 create database 库名 [character set 码表 collate 字符校对集]显示所有库 show databases;删除库 drop database 库名;修改数据库码表 alter database 库名 character set 码表 collate 字符校对集使用数据库 use 库名查看当前使用的库 s

2016-10-14 10:34:19 385

原创 java web项目包名不能为 com.java , java ,javax ...

今天做了个小Demo,随便取了个包名,就叫做java.filter然后就报 ClassNotFoundException 说找不到我的servlet 然后查啊查,web.xml 配置没错 ,在看tomcat服务器的WEB-INF/lib下的classes也有我的servlet 的类文件啊! 然后在百度的一个角落有人说包名不能以java.com 开头,所以改了个包名之后就完美运行了,原因还没找到,

2016-10-03 19:55:27 927

原创 web 工程修改 servlet 包名不报错步骤

修改前包名: 首先找到要修改的包名右键,然后先择Refacter,接着 选Rename 弹出对话框如下 对话框中修改包名,下面的选项 选上第一个跟第二个 其他两个选项是关于注释相关的,不要勾上。下一步ok,就已经修改了包名了 因为以上操作只会对src下的类的引用进行修改,而在配置文件web.xml中的类的索引并不会改变,所以,接下来修改 web.xml 文件中的类的包名,可以用CTRL+F 唤出替

2016-10-01 15:44:18 1099

原创 MVC + 三层 模式 做 web项目 总结

引入:今天在copy一个web项目进行修改时,对MVC + 三层的 模式 有更加深的了解,在这里做个小总结。view 层也就是在jsp中 在需要跳转页面的url中一定要使用${pageContext.request.contextPath }来获取webApp的项目的路径,这样做在移植程序时就不需要去担心跳转页面的路径问题了。只要将部署在服务器的项目名称改过来,这里的路径就会动态获取。 例如:

2016-09-30 10:30:33 1323

原创 mysql 使用外键 foreign key 时的错误解决

首先创建了个主表 test_proj CREATE TABLE test_proj(pid INT(3) ZEROFILL PRIMARY KEY AUTO_INCREMENT,proj_name VARCHAR(20) )2.然后创建附表 test_info, 字段 testProj_id 使用外键约束CREATE TABLE test_info(tid INT(3) ZEROFILL

2016-09-24 17:56:28 2529

原创 Servlet web项目中 使用XML技术的时候的错误

严重: Servlet.service() for servlet AddServlet threw exceptionjava.lang.ClassNotFoundException: com.java.servlet.XMLUtil.XMLUtil at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClass

2016-09-11 11:25:37 452

原创 Servlet 在 web.xml 中设置<init-param>配置信息遇到的问题

web.xml 中的配置<servlet> <init-param> <param-name>path</param-name> <param-value>conf.txt</param-value> </init-param> <description>This is the description of my J2EE component</des

2016-09-09 10:58:07 957

原创 servlet <load-on-startup>设置时遇到的问题

创建这个Servlet类的时候配置Servlet的自动加载的时候报了错public class LDemo extends HttpServlet { LDemo(){ System.out.println("LDemo创建了"); } @Override public void init() throws ServletException {

2016-09-08 22:19:31 1217

原创 CSS 笔记

CSS1. 三种结合方式结合方式1: html标签上加上style属性. 属性的值填写Css代码.所有标签都有style属性.<html> <head><title>结合方式1.html</title><meta name="keywords" content="keyword1,keyword2,keyword3"><meta name="description" content="thi

2016-09-08 19:38:40 395

原创 HTML

HTML1. a标签<a href="链接地址" target="_blank">显示的内容</a> target="_blank" 是指点击将会以新建一个空白页打开 a标签的锚点: <a name="_mao"></a> <a href="#_mao">回到锚点</a> #表示当前页面范围内2.表单标签form用于标识表单的范围 act

2016-09-05 21:29:44 371

原创 JAVA mini 记事本

2016-07-23 00:25:51 491

空空如也

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

TA关注的人

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