自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

蕉下客

挂云帆以济沧海

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

原创 log4j发送日志邮件

目录1、使用背景2、log4j配置3、可能遇到的问题步骤一:步骤二:4、结果1、使用背景     使用log4j记录错误日志是个非常好的习惯,log4j也是非常好用,假设我们的线上系统出了错误,需要给项目负责人和开发人员发日志,那么log4j也是个不错的选择。2、log4j配置log4j.rootLogger=ERROR, maillog4j.appen...

2018-12-15 09:59:20 1174

转载 log4j学习

最近在研究日志,首先学习了log4j,大概用了一下午的时间,其中碰到一篇日志比较好,记录一下:https://www.cnblogs.com/wangzhuxing/p/7753420.html

2018-12-14 20:42:52 331

转载 redis加mybatis,org.apache.commons.pool2.impl.GenericObjectPoolConfig记住这个是pool2!!

今天用redis做mybatis的二级缓存,总是报下面这个错误。Caused by: java.lang.ClassNotFoundException: org.apache.commons.pool2.impl.GenericObjectPoolConfig at org.apache.catalina.loader.WebappClassLoader.l...

2018-06-29 10:14:24 1307

原创 手动编写jar包依赖关系,记对于Maven中jar包依赖错误问题的一次解决

项目中需要使用<c:**>标签,因此需要引入jstl库,而jstl库又依赖于standard库,所以可以从maven中加入jar包依赖。但是我加入后确是出现了波浪线,标签依然不能引用。这样的状况碰见了n次,尤其是对于刚学习maven的小白来说,总是不能正确的从maven仓库中下载jar包。类似下面这样:我同学给我提供了两个思路:不得不说666。解决方案1:采用项目管理方式,不再委托ma...

2018-06-21 11:26:09 1078

转载 spring之JdbcTemplate查询数据的两种方式

在spring中对原生的jdbc操作进行封装成模板类JdbcTemplate类,之所以封装,是因为原生jdbc操作不但麻烦而且啰嗦,使业务代码和数据库操作代码混在一起,相当杂乱。而且如果你获得数据源连接之后如果忘了关闭,就会有数据连接泄露的风险,久而久之,系统崩溃。而使用JdbcTemplate就不一样了,spring对于数据的操作采用模板模式进行,分为模板和回调两个部分,对于连接数据库,释放资源...

2018-06-19 15:09:28 24974 2

转载 返回数据库的表自增主键值

有些开发者喜欢使用数据库自增字段作为表主键,即:主键值不在应用层产生,而是在新增记录时由数据库产生。这样,应用层在保存对象前并不知道对象主键值,而必须在保存数据后才能从数据库中返回主键值。在很多情况下,我们需要获取新对象持久化后的主键值。在Hibernate、JPA、等ORM框架中,新对象在持久化之后,主键值会自动绑定到对象上,给程序带来方便。在JDBC3.0规范中,当新增记录时,允许将数据库自动...

2018-06-19 10:33:17 581

转载 jdk动态代理实现原理

JDK动态代理JDK动态代理是代理模式的一种实现方式,其只能代理接口。 使用步骤1、 新建一个接口2、 为接口创建一个实现类3、 创建代理类实现java.lang.reflect.InvocationHandler接口4、 测试  简单案例根据使用步骤:首先新建一个接口Subjectpackage com.lnjecit.proxy;/** * Subject * 抽象主题接口 * @a...

2018-06-13 17:22:30 183

转载 JDK动态代理和CGLIB代理的区别

一、原理区别:java动态代理是利用反射机制生成一个实现代理接口的匿名类,在调用具体方法前调用InvokeHandler来处理。而cglib动态代理是利用asm开源包,对代理对象类的class文件加载进来,通过修改其字节码生成子类来处理。1、如果目标对象实现了接口,默认情况下会采用JDK的动态代理实现AOP 2、如果目标对象实现了接口,可以强制使用CGLIB实现AOP 3、如果目标对象没有实现了接...

2018-06-13 16:06:12 375

转载 Spring Bean的生命周期(非常详细)

Spring作为当前Java最流行、最强大的轻量级框架,受到了程序员的热烈欢迎。准确的了解Spring Bean的生命周期是非常必要的。我们通常使用ApplicationContext作为Spring容器。这里,我们讲的也是 ApplicationContext中Bean的生命周期。而实际上BeanFactory也是差不多的,只不过处理器需要手动注册。 转载请注明地址 http://www.cnb...

2018-06-02 17:20:59 207

转载 Java 如何有效地避免OOM:善于利用软引用和弱引用

Java 如何有效地避免OOM:善于利用软引用和弱引用  想必很多朋友对OOM(OutOfMemory)这个错误不会陌生,而当遇到这种错误如何有效地解决这个问题呢?今天我们就来说一下如何利用软引用和弱引用来有效地解决程序中出现的OOM问题。下面是本文的目录大纲:  一.了解 强引用、软引用、弱引用、虚引用的概念  二.进一步理解软引用和弱引用  三.如何利用软引用和弱引用解决OOM问题  如果有不...

2018-04-19 14:55:34 202

转载 java中新生代和老年代

聊聊JVM的年轻代1.为什么会有年轻代我们先来屡屡,为什么需要把堆分代?不分代不能完成他所做的事情么?其实不分代完全可以,分代的唯一理由就是优化GC性能。你先想想,如果没有分代,那我们所有的对象都在一块,GC的时候我们要找到哪些对象没用,这样就会对堆的所有区域进行扫描。而我们的很多对象都是朝生夕死的,如果分代的话,我们把新创建的对象放到某一地方,当GC的时候先把这块存“朝生夕死”对象的区域进行回收...

2018-04-18 16:24:14 881

转载 阿里云服务器Ubuntu 16.04 3安装mysql

1.更新系统apt-get update 【注意:要在root用户下】2、安装mysql-serverapt-get install mysql-serverapt-get isntall mysql-clientapt-get install libmysqlclient-dev3、使用如下命令查询是否安装成功:sudo netstat -tap | grep mysql重启m...

2018-04-04 21:30:06 676

转载 Ubuntu 16.04.1下修改MySql默认编码

Ubuntu 16.04.1下修改MySql默认编码 Mysql系统默认的字符编码是 latin1 ,而在实际项目需要保证浏览器、项目和数据库的编码一致,保证不出现乱码。现在要做的就是把 MySQL的默认字符编码设置为支持中文的编码,如 UTF-8、GBK、GB23112、等。 首先进入MySql存放配置文件的目录 $cd /etc/mysq/ 执行l...

2018-04-04 21:23:53 240

转载 java并发编程:等待/通知机制

对等待/通知机制做个总结:    一个线程修改了一个对象的值,而另一个线程感知到了变化,然后进行相应的操作,整个过程开始于一个线程,而最终执行又是另一个线程。前者是生产者,后者就是消费者,这种模式隔离了“做什么(what)”和“怎么做(how)",在功能层面上实现了解耦,体系结构上具备了良好的伸缩性,但是在java语言中如何实现类似的功能那?    简单的方法是让消费者线程不断地循环检查变量是否符...

2018-04-02 17:24:11 524

转载 Java并发编程:volatile关键字解析

volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生机。volatile关键字虽然从字面上理解起来比较简单,但是要用好不是一件容易的事情。由于volatile关键字是与Java的内存模型有关的,因此在讲述volatile关键之前,我们先来了解一下...

2018-04-02 15:11:08 188

转载 Ubuntu 16.04 VSFTP服务器搭建

1.更新源列表打开"终端窗口",输入"sudo apt-get update"-->回车-->"输入当前登录用户的管理员密码"-->回车,就可以了。如果不运行该命令,直接安装vsftpd,会出现"有 几个软件包无法下载,您可以运行apt-get update------"的错误提示,导致无法安装2.安装vsftpd打开"终端窗口",输入"sudo apt-g

2018-03-31 21:50:16 290

原创 记一次服务器CPU占用率达到100%的解决过程

背景:一年前,实验室做了一个web项目,需要部署到服务器,为图方便就向学校网络中心申请了一个对外开放的ip,将项目部署到了学校的服务器上。起因:今天突然接到网络电话,该ip上CPU占用率100%,为避免安全性问题,需要关闭我们的服务器,最后经过请求给予我们2天的时间来解决问题。过程:我马上远程登录服务器,看看究竟哪一个进程占用cpu过高这是解决问题之后的图片,之前的有个taskengf.exe进程...

2018-03-31 17:53:48 56959

原创 java并发编程-再谈daemon线程

守护线程:顾名思义是用来做“守护神”的工作,一直守护着用户线程直到用户线程工作完毕(比如:main线程结束)。对于守护线程我们需要注意两点:通过调用setDaemon(true)方法将线程设置为Daemon线程,但必须在线程启动之前设置;Daemon线程终止时,该线程中的finally块不一定被执行;当Java虚拟机中不存在非Daemon线程的时候,虚拟机将会退出。看一个例子,模拟日志记录功能,写...

2018-03-25 14:47:02 189

转载 Intellij Idea 2017创建web项目及tomcat部署实战

https://www.cnblogs.com/shindo/p/7272646.html

2018-03-20 19:18:03 220

转载 java并发编程:wait()和sleep的区别

首先,多线程中会使用到两个延迟的函数,wait和sleep。wait是Object类中的方法,而sleep是Thread类中的方法。sleep是Thread类中的静态方法。无论是在a线程中调用b的sleep方法,还是b线程中调用a的sleep方法,谁调用,谁睡觉。最主要的是sleep方法调用之后,并【没有释放锁】。使得线程仍然可以同步控制。sleep不会让出系统资源;而wait是进入线程等待池中等...

2018-03-18 14:59:08 592

原创 java并发编程:如何实现生产者消费者模式?

package concurrent;import java.util.LinkedList;import java.util.Queue;public class ProducerConsumer { public static class Storage{ private static final int MAX_ITEM = 5; private Queu...

2018-03-18 11:05:50 324

原创 java并发编程初探:什么是并发编程?

并发编程:也叫多线程编程,相对于单线程而言,是指jvm虚拟机并发的运行多个线程。学过《操作系统》的人都知道,处理机具有高速的处理能力,而计算机中操作系统的发展也是从单用户单任务发展到现在的多用户多任务,这也是计算机发展史上的一次飞跃。但若没有处理机的并发处理,现在的计算机根本不可能发展的这么迅速。通过一个流程图我们来看看多线程怎么执行的?根据冯诺依曼计算机的理论,程序是顺序执行的,但是,多线程是每...

2018-03-16 16:31:05 387

转载 二叉搜索树Java实现(查找、插入、删除、遍历)

本篇随笔就主要介绍 Java 实现二叉搜索树的查找、插入、删除、遍历等内容。  二叉搜索树需满足以下四个条件:若任意节点的左子树不空,则左子树上所有结点的值均小于它的根结点的值;若任意节点的右子树不空,则右子树上所有结点的值均大于它的根结点的值;任意节点的左、右子树也分别为二叉查找树;没有键值相等的节点。  二叉搜索树举例:                           图一  接下来将基于...

2018-03-15 10:56:59 229

原创 三月初春对下一步的深思

      不知不觉,时间又过去了一年,还记得去年这个时候开学心情还没有那么沉重,一副兴冲冲的心态就来到了学校,来到了实验室。今年当我再次来到实验室坐在原来的座位上时,心情却再也不似去年的那个时候这么轻松!也许是该找工作了还没找到工作,也许是想去实习却不能去实习,也许是因为同龄的小伙伴都挣钱了而我还在花费家里的钱,也许,也许......      各种复杂的心情涌上心头,回顾过去一年,好像学了点东...

2018-03-05 11:13:00 235

原创 关于SpringMVC中text/plain的编码导致的乱码问题解决方法

     敏感词过滤项目出现个问题,就是用SpringMVC给前台返回一句话,是String类型的,然后前台接收到是乱码。       先附上我的代码:      后台打印的都是正确的,到了前台就乱码,如下:然后以为是简单的response的编码问题,就在方法体中开始给response设置编码,结果charset和ContentType都设置遍了,于事无补!这种问号明显就是编码问题啊,应该是ISO...

2018-01-13 10:23:55 4655 5

转载 Spring MVC 自带的字符编码过滤器以及Tomcat字符编码设置,彻底解决中文参数乱码问题

一、Spring MVC字符编码配置java Web项目添加Spring支持后,可使用Spring自带的字符编码过滤器。源码在spring-web-4.1.0.RELEASE.jar包下的org.springframework.web.filter目录的CharacterEncodingFilter.java。在web.xml文件中配置:[html] view pl

2018-01-11 19:28:51 1100

转载 创建和使用URL访问网络上的资源

URL(Uniform Resource Locator)是统一资源定位符的简称,它表示Internet上某一资源的地址。  通过URL我们可以访问Internet上的各种网络资源,比如最常见的WWW, FTP站点。浏览器通过解析给定的URL可以在网络上查找相应的文件或其他资源。  在目前使用最为广泛的TCP/IP中对于URL中主机名的解析也是协议的一个标准,即所谓的域名解析服务。

2018-01-08 16:38:02 721

原创 java爬虫-简单爬取网页图片《二》

上午我们学习了一下网络爬虫的大概论述和介绍,了解了现在网络爬虫的情况和现状,此篇博文我们通过学习一个爬虫的例子来深入了解一下如何使用网络爬虫,让它更好的为我们做更多有意思的工作。例子的目的:通过分析一个特定的url,下载该url路径下的所有图片,由于现在所学水平有限,这个例子中,没有对url循环爬取。爬取工作主要有三步:1、获取页面的源代码2、解析源代码,找到源代码中图片标签

2018-01-07 21:35:33 5070 6

转载 网络爬虫技术学习概览初步《一》

1、爬虫技术概述 网络爬虫(Web crawler),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本,它们被广泛用于互联网搜索引擎或其他类似网站,可以自动采集所有其能够访问到的页面内容,以获取或更新这些网站的内容和检索方式。从功能上来讲,爬虫一般分为数据采集,处理,储存三个部分。传统爬虫从一个或若干初始网页的URL开始,获得初始网页上的URL,在抓取网页的过程中,不断从当前页面上

2018-01-07 10:47:11 2812

原创 教你一步一步将excel文件导入mysql数据库

1、制作好你的excel表格,注意和数据库中的字段一一对应,比如我数据库中有三个字段,uid,uname,udate,则在excel中必须有这三个字段,如下图:2、将excel表格另存为csv文件,csv默认为逗号制表符,由于工作需要,我把我的制表符修改成了分号,修改方法见该网址:http://blog.csdn.net/weixin_38437243/article/details/789742...

2018-01-04 19:19:33 163320 21

转载 如何修改CSV文件的分隔符

Excel转成CSV文件,在Windows下默认的列表分隔符是逗号(,)。在某些情况下,我们可能需要更改列表分隔符,如某个单元格内容包含逗号,而这可能导致使用它的程序出错,这样就需要更改列表分隔符;再比如Mac OS X下CSV文件的列表分隔符是分号(;),而且还不方便修改,为了统一 两个系统的列表分隔符,我们就需要更改Windows系统的列表分隔符.1、点开“开始菜单”,找到并打开“控制

2018-01-04 18:54:54 57188 1

转载 消息队列中点对点与发布订阅区别

背景知识JMS一个在 Java标准化组织(JCP)内开发的标准(代号JSR 914)。2001年6月25日,Java消息服务发布JMS 1.0.2b,2002年3月18日Java消息服务发布 1.1.Java消息服务(Java Message Service,JMS)应用程序接口是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进

2018-01-03 15:07:57 1262

原创 一张图教你快速删除复制过来的代码带数字

快捷键不用多说:Ctrl+F,正则表达式替换!

2018-01-02 17:18:40 3006

原创 使用webservice做一个手机号码归属地查询程序

在昨天的博客中,我给大家介绍了webservice的前世今生,在该篇博客中,我主要讲的是用webservice做一个应用程序:手机号码归属地查询要做这个webservice项目,首先必须调用人家给你做好的webservice服务接口,意思就是服务端人家已经给你写好了,你只要在客户端进行RPC调用即可。现在免费的webservice服务有很多,下面为大家提供的是20多个免费的服务接口:

2018-01-02 16:58:40 3881 1

原创 初探Webervice,入门小程序

第一个问题:什么是webservice?第二个问题:webservice可以干什么?第三个问题:怎么开始webservice?我相信,世界上很多的事物都让人产生这三个方面的疑问?正如:我是谁?我从哪里来?我到哪里去?今天研究了以下webservice和RPC,看看这俩个东西究竟可以干什么,此篇博客记录学习webservice的路程,稍后以一个小demo进行入门级程序的编写。我们

2018-01-01 20:17:02 438

转载 剑指offer之十四---反转链表

题目描述输入一个链表,反转链表后,输出链表的所有元素。思路:将链表中的结点入栈,出栈,形成新链表;public static ListNode ReverseList(ListNode head){ if(head == null) return null; else{ Stack stack = new Stack(); ListNode p

2018-01-01 11:27:34 121

转载 大型网站系统架构的演化

今天读了一篇《大型网站系统架构的演化》,感触很深,该篇博客详细讲述了一个网站的演化,可以让一些中级程序员的思想得到开放,故特此记录下该文章,以飨来者!http://www.cnblogs.com/leefreeman/p/3993449.html为避免该网页被404,所以就复制过来,并保存博主的地址,望见谅!前言    一个成熟的大型网站(如淘宝、京东等)的系统架构并不

2018-01-01 11:26:42 171

转载 JAVA设计模式之工厂模式(简单工厂模式+工厂方法模式+抽象工厂模式)

http://blog.csdn.net/jason0539/article/details/23020989

2017-12-24 15:47:43 140

原创 jsp+servlet实现上传图片

图片的上传是一个网站非常重要的功能,之前一直用框架做图片上传,却忽略了最基本的servlet方式上传图片,今天好好研究了一番,做个记录。首先需要明白的一点是:我们在工作空间新建一个web项目,图片上传究竟要上传到哪里去哪?这里我们要明白一点,图片是被上传到服务器上的,也就是tomcat服务器(假设您用的是tomcat)上的,比如:您的项目名是demo,您指定上传的图片路径如下:St

2017-12-22 11:18:28 30648 26

转载 MyEclipse中关闭JSP的预览功能

MyEclipse中关闭JSP的预览功能使用MyEclipse或者Eclipse编辑jsp/或者html的时候,默认有这样一个效果 不知道设计者怎么想的,这样版面又乱,打开又慢,真是鸡肋!方法如下:1,选择菜单: windows -> preferences2,在弹出窗口中选择General-> Editors -> File Association

2017-12-18 16:38:40 1626

空空如也

空空如也

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

TA关注的人

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