自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(97)
  • 收藏
  • 关注

转载 Java并发编程:Callable、Future和FutureTask

Java并发编程:Callable、Future和FutureTask  在前面的文章中我们讲述了创建线程的2种方式,一种是直接继承Thread,另外一种就是实现Runnable接口。  这2种方式都有一个缺陷就是:在执行完任务之后无法获取执行结果。  如果需要获取执行结果,就必须通过共享变量或者使用线程通信的方式来达到效果,这样使用起来就比较麻烦。  而自从Java 1.5开始,...

2019-03-11 09:59:44 309

原创 数据库事务的四大特性以及事务的隔离级别

本篇讲诉数据库中事务的四大特性(ACID),并且将会详细地说明事务的隔离级别。  如果一个数据库声称支持事务的操作,那么该数据库必须要具备以下四个特性:⑴ 原子性(Atomicity)  原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,这和前面两篇博客介绍事务的功能是一样的概念,因此事务的操作如果成功就必须要完全应用到数据库,如果操作失败则不能对数据库有任何影响。⑵ 一...

2018-07-25 21:01:25 235

转载 IntelliJ IDEA下的使用git

1、git简介Git是目前流行的分布式版本管理系统。它拥有两套版本库,本地库和远程库,在不进行合并和删除之类的操作时这两套版本库互不影响。也因此其近乎所有的操作都是本地执行,所以在断网的情况下任然可以提交代码,切换分支。git又使用了SHA-1哈希算法确保了在文件传输时变得不完整、磁盘损坏导致数据丢失时能立即察觉到。git的基本工作流程:git clone:将远程的

2018-04-19 23:23:17 254

转载 IntelliJ IDEA(2017)安装和破解

IntelliJ IDEA(2017)安装和破解 如果有一定的经济基础,请支持正版,这里提供破解方法。一、下载并安装, IntelliJ IDEA的官网:https://www.jetbrains.com下载下载下载二、破解。百度下载一个 JetbrainsCrack-2.6.2.jar 破解补丁。放在你的安装idea下面的bin的目录下面。下载链接:http://idea.lanyus

2018-04-08 15:11:24 275

原创 生成随机数的类Random和ThreadLocalRandom

java里有伪随机型和安全型两种随机数生成器,伪随机生成器根据特定公式将seed转换成新的伪随机数据的一部分,安全随机生成器在底层依赖到操作系统提供的随机事件来生成数据。安全随机生成器需要生成加密性强的随机数据的时候才用它生成速度慢如果需要生成大量的随机数据,可能会产生阻塞需要等待外部中断事件而伪随机生成器,只依赖于“seed”的初始值,如果给生成算法提供相同的seed,可以得到一

2017-11-14 17:31:03 334

转载 mybatis异常 :元素内容必须由格式正确的字符数据或标记组成。

写一个查询接口的时候,出错:元素内容必须由格式正确的字符数据或标记组成。错误原因:mybatis查询的时候,需要用到运算符 小于号:,在mybatis配置文件里面,这种会被认为是标签,所以解析错误错误事例:[html] view plain copyprint?select       include refid="Base_Colu

2017-10-18 16:05:08 396

原创 SpringMVC Controller介绍及常用注解

一、简介         在SpringMVC 中,控制器Controller 负责处理由DispatcherServlet 分发的请求,它把用户请求的数据经过业务处理层处理之后封装成一个Model ,然后再把该Model 返回给对应的View 进行展示。在SpringMVC 中提供了一个非常简便的定义Controller 的方法,你无需继承特定的类或实现特定的接口,只需使用@Contro

2017-10-10 15:27:37 200

原创 使用Mybatis-Generator自动生成Dao、Model、Mapping相关文件

Mybatis属于半自动ORM,在使用这个框架中,工作量最大的就是书写Mapping的映射文件,由于手动书写很容易出错,我们可以利用Mybatis-Generator来帮我们自动生成文件。 1、相关文件关于Mybatis-Generator的下载可以到这个地址:https://github.com/mybatis/generator/releases由于我使用的

2017-10-09 22:10:07 171

原创 xml格式报文的拼装,和解析成实体类

我们的微信支付,使用的是第三方的支付,某银行的微信支持渠道。所有的接口请求、应答都是xml格式报文,这样就需要用到xml格式报文的拼装和解析,这儿简单讲一下。        拼接xml格式报文。        从页面表单提交和配置文件中读取出参数,或用实体类接收的页面传来的参数。建立map对象,用put()方法把参数添加进去。然后遍历map,将map转换成xml。[java

2017-09-19 15:43:43 3349 1

原创 SQL中IN和EXISTS用法的区别

1.exist,not exist一般都是与子查询一起使用. In可以与子查询一起使用,也可以直接in (a,b.....)2.exist会针对子查询的表使用索引. not exist会对主子查询都会使用索引. in与子查询一起使用的时候,只能针对主查询使用索引. not in则不会使用任何索引. 注意,一直以来认为exists比in效率高的说法是不准确的。in 是把外表和内表

2017-09-06 10:42:05 280

转载 Spring, MyBatis 多数据源的配置和管理

同一个项目有时会涉及到多个数据库,也就是多数据源。多数据源又可以分为两种情况:1)两个或多个数据库没有相关性,各自独立,其实这种可以作为两个项目来开发。比如在游戏开发中一个数据库是平台数据库,其它还有平台下的游戏对应的数据库;2)两个或多个数据库是master-slave的关系,比如有mysql搭建一个 master-master,其后又带有多个slave;或者采用MHA搭建的ma

2017-09-05 17:52:35 255

转载 十种JAVA排序算法实例

一、冒泡(Bubble)排序复制代码 代码如下:void BubbleSortArray() {       for(int i=1;i      {         for(int j=0;i         {               if(a[j]>a[j+1])//比较交换相邻元素                {

2017-09-05 16:47:43 978 1

转载 面试资料

防止sql1.永远不要信任用户的输入。对用户的输入进行校验,可以通过正则表达式,或限制长度;对单引号和双"-"进行转换等。2.永远不要使用动态拼装sql,可以使用参数化的sql或者直接使用存储过程进行数据查询存取。3.永远不要使用管理员权限的数据库连接,为每个应用使用单独的权限有限的数据库连接。4.不要把机密信息直接存放,加密或者hash掉密码和敏感的信息。

2017-09-05 16:34:24 321

转载 Java并发编程:线程池的使用

Java并发编程:线程池的使用  在前面的文章中,我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题:  如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。  那么有没有一种办法使得线程可以复用,就是执行完一个任务,并不被销毁,而是可以继续执行其他的任

2017-09-05 16:27:26 233

转载 JAVA多线程和并发基础面试问答

多线程和并发问题是Java技术面试中面试官比较喜欢问的问题之一。在这里,从面试的角度列出了大部分重要的问题,但是你仍然应该牢固的掌握Java多线程基础知识来对应日后碰到的问题。(校对注:非常赞同这个观点)Java多线程面试问题1. 进程和线程之间有什么不同?一个进程是一个独立(self contained)的运行环境,它可以被看作一个程序或者一个应用。而线程是在进程中执行的一个任务。Java运行环

2017-09-05 16:22:37 217

转载 ConcurrentHashMap原理分析

集合是编程中最常用的数据结构。而谈到并发,几乎总是离不开集合这类高级数据结构的支持。比如两个线程需要同时访问一个中间临界区(Queue),比如常会用缓存作为外部文件的副本(HashMap)。这篇文章主要分析jdk1.5的3种并发集合类型(concurrent,copyonright,queue)中的ConcurrentHashMap,让我们从原理上细致的了解它们,能够让我们在深度项目开发中获益非浅

2017-09-05 16:19:16 205

原创 oracle 索引失效原因及解决方法

一、以下的方法会引起索引失效‍1,<> 2,单独的>,<,(有时会用到,有时不会) 3,like “%_” 百分号在前. 4,表没分析. 5,单独引用复合索引里非第一位置的索引列. 6,字符型字段为数字时在where条件里不添加引号. 7,对索引列进行运算.需要建立函数索引. 8,not in ,not exist. 9,当变量采用的是times变量,而表的字段采用的是date变量时

2017-09-05 16:11:37 4924

原创 javamail模拟邮箱功能--邮件删除-中级实战篇【邮件标记方法】(javamail API电子邮件实例)

前言:  JavaMail jar包下载地址:http://java.sun.com/products/javamail/downloads/index.html  本章是讲解javamail的最后一篇了,阅读本章节前建议阅读之前章节,因为这章是在之前的基础上增加的业务方法,不看之前的可能有点云里雾里。

2017-08-30 11:35:15 3863 3

原创 javamail模拟邮箱功能--邮件回复-中级实战篇【邮件回复方法】(javamail API电子邮件实例)

引言:  JavaMai下载地址l jar包:http://java.sun.com/products/javamail/downloads/index.html  此篇是紧随上篇文章而封装出来的,阅读本篇章建议先阅读上一篇 –>javamail模拟邮箱功能获取邮件内容-中级实战篇【内容|附件下载方法】(javamail API电子邮件实例)

2017-08-30 11:27:45 2692

原创 javamail模拟邮箱功能获取邮件内容-中级实战篇【内容|附件下载方法】(javamail API电子邮件实例)

引言:  JavaMail jar包下载地址:http://java.sun.com/products/javamail/downloads/index.html  此篇是紧随上篇文章而封装出来的,阅读本篇章建议先阅读上一篇 –>javamail模拟邮箱功能发送电子邮件-中级实战篇【新增附件发送方法】(javamail API电子邮件实例)

2017-08-30 11:14:24 2028

原创 javamail模拟邮箱功能发送电子邮件-中级实战篇【新增附件发送方法】(javamail API电子邮件实例)

此篇是紧随上篇文章而封装出来的,阅读本篇章建议先阅读上一篇 –> javamail模拟邮箱功能发送电子邮件-基础实战篇   上一篇章简单讲解了javamail发送邮件的基本基础和用到的几个类,并且所有初始化和发送方法都封装在一个类里面

2017-08-29 17:58:04 1446

原创 javamail模拟邮箱功能发送电子邮件-基础实战篇(javamail API电子邮件实例)

引言:  JavaMail 是一种可选的、能用于读取、编写和发送电子消息的包  JavaMail jar包下载地址:http://java.sun.com/products/javamail/downloads/index.html  JavaMail  API中包含了多种邮件传输协议: SMTP   POP(最新为pop3)  IMAP  MIME 四大类  (本章主要讲解常用的 S

2017-08-29 14:56:36 1594

转载 学习maven的各种问题

之前学习的时候网上找的资料,依旧各种乱,反正都弄下来了。 Maven常见问题解决1. The Container 'Maven Dependencies' references non existing library解决方法,将eclipse中maven插件中“resolve dependencies from workspace projects”的选项取消

2017-08-28 15:41:57 842

原创 Redis 学习(一)redis的安装

参考:安装 http://www.runoob.com/Redis/redis-install.html配置 http://www.runoob.com/redis/redis-conf.htmlWindow 下安装下载地址:https://github.com/dmajkic/redis/downloads。下载到的Redis支持32bit和64bit。根

2017-08-23 17:42:34 225

原创 Redis学习(二)redis配置

Redis 配置Redis 的配置文件位于redis 安装目录下,文件名为 redis.conf。你可以通过 CONFIG 命令查看或设置配置项。语法Redis CONFIG 命令格式如下:redis 127.0.0.1:6379> CONFIG GET CONFIG_SETTING_NAME实例redis 127.0.0.1:6379>

2017-08-23 17:41:45 168

原创 Redis 学习(三)redis服务器集群、客户端分片

下面是来自知乎大神的一段说明,个人觉得非常清晰,就收藏了。为什么集群?通常,为了提高网站响应速度,总是把热点数据保存在内存中而不是直接从后端数据库中读取。Redis是一个很好的Cache工具。大型网站应用,热点数据量往往巨大,几十G上百G是很正常的事儿,在这种情况下,如何正确架构redis呢?首先,无论我们是使用自己的物理主机,还是使用云服务主机,内存资源往往是有限制的,s

2017-08-23 17:40:23 274

转载 成为java高级工程师需要什么

我要说明,您要想从本文中学到一些Java高级知识是学不到的,因为本文告诉您的作为一个(高级)JAVA工程师应该学什么,而不是告诉您具体的知识细节。一、JAVA。要想成为JAVA(高级)工程师肯定要学习JAVA。一般的程序员或许只需知道一些JAVA的语法结构就可以应付了。但要成为JAVA(高级)工程师,您要对JAVA做比较深入的研究。您应该多研究一下JDBC、IO包、Util包、Text包、

2017-08-23 10:53:46 427

转载 状态和无状态--2种服务器架构之间的比较

http://blog.csdn.net/romandion/article/details/1800025对服务器程序来说,有两个基本假设十分重要,究竟服务器是基于状态请求还是无状态请求。状态化的判断是指两个来自相同发起者的请求在服务器端是否具备上下文关系。如果是状态化请求,那么服务器端一般都要保存请求的相关信息,每个请求可以默认地使用以前的请求信息。而无状态请求则不行,服务器端所能够处理的

2017-08-09 14:42:06 315

原创 Java类中加载Spring中的ApplicationContext.xml文件的方式

1>、利用ClassPathXmlApplicationContext,可以从classpath中读取XML文件  //读取一个文件   1. ApplicationContext context= new ClassPathXmlApplicationContext("applicationContext.xml");   UserDAO userDAO= (UserDAO )con

2017-08-08 11:22:44 481

原创 java解压缩.gz .zip .tar.gz等格式的压缩包方法总结

1、.gz文件是linux下常见的压缩格式。使用 java.util.zip.GZIPInputStream即可,压缩是 java.util.zip.GZIPOutputStreampublic static void unGzipFile(String sourcedir) {        String ouputfile = "";        try {

2017-08-03 16:09:34 6039 1

原创 win7/win10 打不开jar文件的2个解决方法

在win10下.jar的文件打不开了,经网上查找,找到解决办法,记录一下,有需要的兄弟们可以看看。解决办法1:新建一个文本文档,输入内容"javaw -jar %1",并保存为批处理文件,例如"run.bat"。右键点击.jar格式的文件 ,选择其打开方式 为上面建的run.bat 。此时jar就能运行了….解决办法2:打开注册表,开始->运行(或者

2017-07-31 15:15:23 32397 5

原创 Jetty和Tomcat运行Maven Web项目几种方法

目录   1.简介   2.采用Jetty和Tomcat运行Maven Web项目   1.简介    上一篇我们介绍了用Eclipse创建了Maven Web项目,接下来我们介绍怎么运行Maven Web项目方便我们开发和调试,这里使用的是Maven插件的形式引用进来的,这样耦合性比较低,我们需要什么样的工具就引入对应的插件就可以用。 2.采用Jetty和To

2017-07-31 10:28:19 520

转载 SpringMVC 源代码深度解析BeanWrapper及其实现

一、 BeanWrapperBeanWrapper是对Bean的包装,其接口中所定义的功能很简单包括设置获取被包装的对象,获取被包装bean的属性描述器,由于BeanWrapper接口是PropertyAccessor的子接口,因此其也可以设置以及访问被包装对象的属性值。BeanWrapper大部分情况下是在spring ioc内部进行使用,通过BeanWrapper,spring i

2017-07-31 10:28:09 223

原创 SpringMVC源码深度分析DispatcherServlet核心的控制器(初始化)

SpringMVC是非常优秀的MVC框架,每个框架都是为了我们提高开发效率,我们试图通过对SpringMVC的源代码去了解这个框架,了解整个设计思想,框架要有扩展性,这里用的比较多是接口和抽象,是框架的主力,我们通过了解源代码能对SpringMVC框架更了解,也能对我们开发思想有很大的启发。    SpringMVC由几个核心类和接口组成的,我们今天要的一个是DispatcherServlet

2017-07-31 10:27:29 556

转载 Spring MVC 3 深入总结

出自 http://blog.csdn.NET/sunitjy/article/details/6782431/一、前言:大家好,Spring3 MVC是非常优秀的MVC框架,由其是在3.0版本发布后,现在有越来越多的团队选择了Spring3 MVC了。Spring3 MVC结构简单,应了那句话简单就是美,而且他强大不失灵活,性能也很优秀。官方的下载网址是:ht

2017-07-31 10:27:07 760

原创 svn插件集成myeclipse2014的两种方式

第一种:直接借助myeclipse2014自己的help,当然外网这比较慢了,但是能解决问题的办法就是好办法,能更有效的就是更好的办法,得留着啊。1.打开myeclipse的help---install from site2.点击add弹出对话框 ,在输入框中输入对应内容。3.点击OK之后,会节目会刷新出两个选项,需要选中的4.点击next,出现许可的时

2017-07-31 10:26:43 1314

原创 Maven创建并管理Web项目(上传Web项目的API的JAR到Nexus 私服上)

目录     1.简介     2.安装Eclipse Maven插件     3.用Eclipse创建Maven Web项目     4.配置settings.xml 文件并下载项目依赖的JAR,并上传Web项目的api的JAR到Nexus 私服   1.简介      Maven、Nexus 私服的安装和配置和Maven的优点在Maven和 Sonatype

2017-07-28 19:23:34 507

原创 SpringMVC 源代码深度解析 IOC容器(Bean 解析、注册)

SpringMVC通过一个配置文件描述Bean以及Bean之间的依赖关系,利用Java的反射机制实例化Bean并建立Bean之间的依赖关系。IOC容器在完成这些底层工作的基础还提供了Bean的实例缓、生命周期、Bean实例代理等。BeanFacory是SpringMVC框架最核心的接口,他提供了最高级IOC的配置机制。ApplicationContext由BeanFactory派生而来,这也说明了

2017-07-28 19:17:53 269

原创 SpringMVC 源代码深度解析 IOC容器(Bean实例化和依赖注入)

SpringMVC最核心的IOC的控制反转,动态的向某个对象提供它所需要的其他对象,例如:对象A时,需要对象B时,这时不像以前我们之前要在A对象里实例化B对象,这时B对象的实例化由IOC容器会主动创建一个对象B然后注入到对象A里,提供使用。我们项目开发中,最经常用到,那怎么实现实例Bean并依赖注入呢?我们今天带着这些问题来通过SpringMVC源代码进行深入的解析。这篇介绍不对注解实例化和注入进

2017-07-28 19:16:15 302

原创 SpringMVC 源代码深度解析<context:component-scan>(扫描和注册的注解Bean)

我们在SpringMVC开发项目中,有的用注解和XML配置Bean,这两种都各有自己的优势,数据源配置比较经常用XML配置,控制层依赖的service比较经常用注解等(在部署时比较不会改变的),我们经常比较常用的注解有@Component是通用标注,@Controller标注web控制器,@Service标注Servicec层的服务,@Respository标注DAO层的数据访问。SpringMV

2017-07-28 19:14:38 688

空空如也

空空如也

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

TA关注的人

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