
Java技术
文章平均质量分 58
龙之家
希望技术日渐增长
展开
-
解读JDK11新特性
本文主要介绍JDK11的部分新特性和新的API。1、Local Var在Lambda表达式中,可以使用var关键字来标识变量,变量类型由编译器自行推断。public class LocalVar { public static void main(String[] args) { Arrays.asList("Java", "Python", "Ruby")...转载 2018-12-29 15:46:06 · 2105 阅读 · 0 评论 -
系统日志解决方案——slf4j
一、基本概念SLF4J即简单日志门面(Simple Logging Facade for Java),不是具体的日志解决方案,它只服务于各种各样的日志系统。按照官方的说法,SLF4J是一个用于日志系统的简单Facade,允许最终用户在部署其应用时使用其所希望的日志系统。Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、原创 2017-02-15 16:00:37 · 690 阅读 · 0 评论 -
版本控制——Git
Git 是目前世界上最先进的开源的分布式版本控制系统(没有之一),用于敏捷高效地处理任何或小或大的项目。Git 是 Linus Torvalds 为了帮助管理 Linux内核开发而开发的一个开放源码的版本控制软件。Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。Git有什么特点?简单的说就是:高原创 2017-02-23 17:56:14 · 478 阅读 · 0 评论 -
线程同步工具——CountDownLatch
CountDownLatch的一个非常典型的应用场景是:有一个任务想要往下执行,但必须要等到其他的任务执行完毕后才可以继续往下执行。假如我们这个想要继续往下执行的任务调用一个CountDownLatch对象的await()方法,其他的任务执行完自己的任务后调用同一个CountDownLatch对象上的countDown()方法,这个调用await()方法的任务将一直阻塞等待原创 2017-02-14 17:28:34 · 371 阅读 · 0 评论 -
JAVA线程池详解
Java通过Executors提供四种线程池,分别为:newCachedThreadPool创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回收,则新建线程。newFixedThreadPool 创建一个定长线程池,可控制线程最大并发数,超出的线程会在队列中等待。newScheduledThreadPool 创建一个定长线程池,支持定时及周期性任务执行。转载 2017-02-14 10:17:34 · 232 阅读 · 0 评论 -
日期时间工具类
今天项目有个需求,图表的提示信息要显示每周的起始日期,这就需要根据年份的周数计算出起始日期不多说了,直接上代码: /** * 获取每周的时间范围 * @param year * @param week * @return */ public static String getRangeOfWeek(int year, int week){ Calendar cal原创 2016-12-07 11:42:02 · 350 阅读 · 0 评论 -
ECharts图表——formatter
今天使用ECharts处理图表显示问题,提示信息需要进行格式化显示,即添加单位formatter:function(params){ //数据单位格式化 var relVal = params[0].name; //x轴名称 for (var i = 0, l = params.length; i < l; i++) {原创 2016-11-15 18:14:36 · 11156 阅读 · 0 评论 -
SpringMVC—相关注解介绍
本文主要介绍一些常见的注解:@Entity:标注类为实体类@Table:指定实体类对应的数据库中的表@Id:标注某属性为主键@GeneratedValue:设置主键的生成策略@Column:标识实体类中属性与数据表中字段的对应关系@JoinColumn:标识保存表与表之间关系(ManyToOne、OneToOne)的字段,它要标注在实原创 2016-04-26 14:25:54 · 449 阅读 · 0 评论 -
Mybatis3+Spring4+SpringMVC4 框架整合环境搭建
首先在整合这个框架的时候,想想其一般的步骤是怎样的,先有个步骤之后,不至于在后面的搞混了,这样在整合的时候也比较清晰些。1 创建一个Web项目。 2 导入Mybatis3、Spring4、SpringMVC4、连接数据库(我使用的数据库是mysql)的jar包。 我所用的包: spring-websocket-4.2.0.R转载 2016-12-01 13:36:20 · 2053 阅读 · 0 评论 -
MyBatis Generator自动创建代码
这两天需要用到MyBatis的代码自动生成的功能,由于MyBatis属于一种半自动的ORM框架,所以主要的工作就是配置Mapping映射文件,但是由于手写映射文件很容易出错,所以可利用MyBatis生成器自动生成实体类、DAO接口和Mapping映射文件。这样可以省去很多的功夫,将生成的代码copy到项目工程中即可。 使用自动生成有很多方式,可以在eclipse中安装插原创 2016-12-01 14:51:19 · 381 阅读 · 0 评论 -
Mybatis与Hibernate的详细对比
前言这篇博文我们重点分析一下Mybatis与hibernate的区别,当然在前面的博文中我们已经深入的研究了Mybatis和Hibernate的原理。Mybatis【持久化框架】Mybatis简介与原理【持久化框架】SpringMVC+Spring4+Mybatis3集成,开发简单Web项目+源码下载Hibernate【SSH进阶之路】Hibernate基本转载 2016-12-02 13:54:23 · 458 阅读 · 0 评论 -
MyBatis Generator 详细讲解
MyBatis Generator中文文档MyBatis Generator中文文档地址:http://mbg.cndocs.tk/该中文文档由于尽可能和原文内容一致,所以有些地方如果不熟悉,看中文版的文档的也会有一定的障碍,所以本章根据该中文文档以及实际应用,使用通俗的语言来讲解详细的配置。本文中所有节点的链接都是对应的中文文档地址,可以点击查看详细信息。原创 2016-12-05 18:17:11 · 2073 阅读 · 4 评论 -
maven入门及myeclipse中使用maven构建项目
听说maven在构建项目方面,功能很强的,今天使用maven构建项目,虽然不是很顺利,但最后还是使用maven成功构建了第一个项目。推荐一篇maven入门级文章:http://blog.youkuaiyun.com/tonytfjing/article/details/39006087让我们一起遨游在代码的海洋里!转载 2016-09-26 11:38:33 · 337 阅读 · 0 评论 -
java实现文件预览(openoffice+swftools+flexpaper)
代码下载1.概述主要原理1.通过第三方工具openoffice,将word、excel、ppt、txt等文件转换为pdf文件2.通过swfTools将pdf文件转换成swf格式的文件3.通过FlexPaper文档组件在页面上进行展示2.安装包下载1.openoffice是Apache下的一个开放免费的文字处理软件 下载地址转载 2016-11-30 17:22:06 · 853 阅读 · 0 评论 -
异常处理机制——try-with-resources
Try-with-resources是java7中一个新的异常处理机制,能够很容易地关闭在try-catch语句块中使用的资源。一、利用Try-Catch-Finally管理资源(旧的代码风格)在java7以前,程序中使用的资源需要被明确地关闭读取文件:查看源代码打印帮助01private static v原创 2017-02-15 16:53:23 · 1512 阅读 · 0 评论 -
日常随笔—常用小知识
常用小知识//编码不一致ALTER TABLE t_user CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;//模糊匹配、之间最好加个空格连接,防止匹配错误concat(no,' ',name) like '%str%'//修改自动增长的起始值ALTER TABLE t_user AUT原创 2016-11-25 17:01:12 · 419 阅读 · 0 评论 -
数据库配置文件properties中用户名、密码加密处理
项目中一般都会有数据库配置文件properties,其中用户名和密码一般都是明文存储,这样很不安全,下面介绍几种对用户名和密码进行加密处理的方法一、PropertyPlaceholderConfigurer重写PropertyPlaceholderConfigurer类,覆盖里面的convertProperty方法,对加密的用户名和密码进行解密处理并返回替换xml配置文件中的org.s...原创 2018-09-11 16:54:47 · 7048 阅读 · 0 评论 -
InnoDB并发如此高,原因竟然在这?
一、并发控制为啥要进行并发控制?并发的任务对同一个临界资源进行操作,如果不采取措施,可能导致不一致,故必须进行并发控制(Concurrency Control)。 技术上,通常如何进行并发控制?通过并发控制保证数据一致性的常见手段有: 锁(Locking) 数据多版本(Multi Versioning) 二、锁如何使用普通锁保证一致性?普通锁,...转载 2018-08-13 11:03:15 · 1130 阅读 · 0 评论 -
Tomcat学习笔记
server.xml是Tomcat中最重要的配置文件,server.xml的每一个元素都对应了Tomcat中的一个组件Server、Service、Connector、Engine、Host和Context是最重要的最核心的Tomcat组件1、Server必须是server.xml中唯一一个最外层的元素。一个Server元素中可以有一个或多个Service元素shutdown属性表示关闭Serve...原创 2018-05-25 10:13:46 · 385 阅读 · 0 评论 -
Oracle批量插入数据
一条SQL语句批量插入数据到数据库:(1)INSERT INTO 某表 VALUES(各个值),VALUES(各个值),.....;(2)多个INSERT INTO VALUEES(各个值);以“;”隔开一同执行以上两种方法Oracle和SQL Server都不支持,MySQL支持 对于Oracle数据库,可以使用以下方法:(1)INSERT ALL INTO 表(字段) VALU...原创 2018-04-25 09:56:29 · 14764 阅读 · 0 评论 -
Java开发中的23种设计模式详解
设计模式(Design Patterns) ——可复用面向对象软件的基础设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模...转载 2018-02-24 11:12:13 · 294 阅读 · 0 评论 -
spring整合mybatis学习笔记
1、SqlSessionFactoryBean创建session工厂,即SqlSessionFactorySqlSessionFactoryBean 实现了 Spring 的 FactoryBean 接口说明由 Spring 最终创建的 bean 不是 SqlSessionFactoryBean 本身,而是工厂类的 getObject()返回的 SqlSessionFactor原创 2018-01-29 09:10:48 · 275 阅读 · 0 评论 -
30 种 SQL 查询语句的优化方法
在参与实际项目中,当 MySQL 表的数据量达到百万级时,普通的 SQL 查询效率呈直线下降,而且如果 where 中的查询条件较多时,其查询速度无法容忍。因此如何提高 SQL 语句查询效率,显得十分重要。查询速度慢的原因1、没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷)2、I/O 吞吐量小,形成了瓶颈效应。3、没有创建计算列导致查询不优化原创 2017-10-24 17:18:28 · 805 阅读 · 0 评论 -
内存分配之堆和栈的区别
一、程序的内存分配1、一个由C/C++编译的程序占用的内存分为以下几个部分1)、栈区(stack)由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2)、堆区(heap)一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表。3)、全局区(静态原创 2017-10-31 09:51:10 · 570 阅读 · 0 评论 -
web.xml配置详解
引文:对于一个J2EE领域的程序员而言,基本上每天都会和web应用打交道。什么是web应用?最简单的web应用什么样?给你一个web应用你该从何入手?1、什么是web应用? web应用是一种可以通过Web访问的应用程序。在J2EE领域下,web应用就是遵守基于JAVA技术的一系列标准的应用程序。2、最简单的web应用什么样?转载 2017-11-08 14:52:55 · 248 阅读 · 0 评论 -
SpringMVC中利用@InitBinder来对表单数据进行解析绑定
在使用SpingMVC框架的项目中,经常会遇到页面某些数据类型是Date、Integer、Double等的数据要绑定到控制器的实体,或者控制器需要接受这些数据,如果这类数据类型不做处理的话将无法绑定。 这里我们可以使用注解@InitBinder来解决这些问题,这样SpingMVC在绑定表单之前,都会先注册这些编辑器。一般会将这些方法些在BaseController中,需要进行这类原创 2017-10-12 10:26:50 · 463 阅读 · 0 评论 -
ParameterizedType应用,利用java反射获取参数化类型的class实例
ParameterizedType是一个接口,这个类可以用来检验泛型是否被参数化比如:[java] view plain copyclass Dao { public Dao(){ } } 上面的这个类,也就是泛型类,当有子类集成它的时候,子类也许会将其参数化,转载 2017-10-12 09:56:23 · 4145 阅读 · 3 评论 -
根据身份证号判断年龄
根据身份证号判断年龄是否符合条件一、java代码 /** * 根据身份证出生日期判断年龄是否符合条件 * @param number 身份证号码 * @param age 年龄条件 * @return */ public static boolean validateAge(String number, int age){ if(!StringUtils.isEm原创 2017-07-17 10:23:40 · 3734 阅读 · 0 评论 -
spring security的原理及教程
spring security使用分类:如何使用spring security,相信百度过的都知道,总共有四种用法,从简到深为:1、不用数据库,全部数据写在配置文件,这个也是官方文档里面的demo;2、使用数据库,根据spring security默认实现代码设计数据库,也就是说数据库已经固定了,这种方法不灵活,而且那个数据库设计得很简陋,实用性差;3、spring security和Ac转载 2017-06-06 14:03:27 · 2454 阅读 · 1 评论 -
Maven基本命令
1、mvn package此命令包含一系列过程:validate-->compile-->test-->packageMaven根据pom文件里packaging的配置,决定是生成jar文件还是war文件,并放到target目录下。此命令需要在项目的根目录(也就是pom.xml文件所在的目录)下运行,Maven才知道打包哪个项目。2、mvn clean每次更转载 2016-11-01 15:28:14 · 308 阅读 · 0 评论 -
springmvc——定时任务
今天,由于项目中需要实现一个定时监控自动给用户发邮件进行提醒的功能,为了实现这一功能,我想到使用定时任务,知道springmvc中就有自带的定时任务,下面就整理一下,方便以后使用:主要有两种方式实现,基于XML的和基于注解的,当然现在越来越多的偏爱于基于注解的实现方式(一)基于XML的1、配置文件 <beans xmlns="http://www.springframe...原创 2016-10-19 15:34:12 · 3016 阅读 · 0 评论 -
Java集合中TreeSet的实现原理
Java集合中TreeSet的实现原理原创 2015-11-29 20:07:02 · 1910 阅读 · 0 评论 -
Java集合中HashMap的实现原理
Java集合中HashMap的实现原理原创 2015-11-29 20:56:18 · 627 阅读 · 0 评论 -
数据库——存储过程
数据库——存储过程原创 2015-12-06 19:21:00 · 1031 阅读 · 0 评论 -
mysql 服务不见了的解决办法
今天打开电脑,mysql突然连接不了,去服务里找,却找不到mysql服务了 ,网上找了好久才找到的,我的版本是5.5的,用的下面那个方法解决方法:1、5.0版本:开始->运行->cmd,进到mysql安装的bin目录D:\MySQL\bin>mysqld-nt.exe -installService successfully installed.这个时候刷新服务列表原创 2016-04-18 17:40:16 · 2628 阅读 · 2 评论 -
Get Post请求方式的乱码问题处理
对于乱码问题,经常遇到也很是让人头疼,大多数出现在浏览器向服务器传递参数中1、针对Post方式提交的请求如果出现乱码,可以每次在request解析数据时设置编码格式:request.setCharacterEncoding("utf-8");——这是以前刚开始编程时使用的,像Servlet中目前,多数使用过滤器filter来解决:在Web.xml中增加如下配置(要注原创 2016-07-13 14:06:44 · 437 阅读 · 0 评论 -
springmvc——异常处理
本文主要讲解springmvc中的异常处理在项目中多多少少会发生异常,如何对异常进行处理也是非常重要的我们之前知道,可以在web.xml中配置error-page来对异常进行处理,通过指定错误码或错误异常,分别对其进行异常处理,展示给用户指定的友好错误页面提示1、在springmvc中提供了一个通用的异常处理类SimpleMappingExceptionResolv原创 2016-06-27 00:00:16 · 475 阅读 · 0 评论 -
Spring MVC中JSON无限死循环问题
JSON死循环问题主要是因为两个实体类间有一对多的双向关系,在查询时要查询相关联的类,导致循环查询,无法结束举例如下:两个实体类: Album(相册) 和 photo(照片) 是一对多双向关联死循环原因: JSON无法对Album的photos属性进行JSON转换解决办法: 在Album实体类上加注释@JsonIg原创 2016-06-16 16:06:59 · 3042 阅读 · 0 评论 -
MyEclipse中将项目打包
将项目打包的方法,打包结果主要有两种,一个是war包,另一个是jar包原创 2016-05-06 11:41:56 · 3590 阅读 · 0 评论 -
java的内存管理机制
java内存管理机制原创 2015-12-30 21:45:41 · 312 阅读 · 0 评论