java
WI_232995
一枚java程序猿,懂的自然懂。
展开
-
hibernate validate的常用注解
以下是对hibernate-validator中部分注解进行描述:@AssertTrue 用于boolean字段,该字段只能为true @AssertFalse 该字段的值只能为false @CreditCardNumber 对信用卡号进行一个大致的验证 @DecimalMax 只能小于或等于该值 @DecimalMin 只能大于或等于该值 ...原创 2019-10-23 15:32:17 · 276 阅读 · 0 评论 -
Java集合类里最基本的接口有
Java集合类里最基本的接口有:Collection:单列集合的根接口List:元素有序 可重复 ArrayList:类似一个长度可变的数组 。适合查询,不适合增删LinkedList:底层是双向循环链表。适合增删,不适合查询。Set:元素无序,不可重复HashSet:根据对象的哈希值确定元素在集合中的位置TreeSet: 以二叉树的方式存储元素,实现了对集合中的元素排序Map:双列集合的根接口...原创 2018-02-24 16:58:51 · 661 阅读 · 0 评论 -
java并发之Lock与synchronized的区别
1)Lock是一个接口,而synchronized是Java中的关键字,synchronized是内置的语言实现; 2)synchronized在发生异常时,会自动释放线程占有的锁,因此不会导致死锁现象发生;而Lock在发生异常时,如果没有主动通过unLock()去释放锁,则很可能造成死锁现象,因此使用Lock时需要在finally块中释放锁; 3)Lock可以让等待锁的线程响应中断,而syn...原创 2018-02-27 21:05:41 · 198 阅读 · 0 评论 -
Java transient关键字使用小记
1概念我们都知道一个对象只要实现了Serilizable,Externalizable接口,这个对象就可以被序列化,java的这种序列化模式为开发者提供了很多便利,我们可以不必关系具体序列化的过程,只要这个类实现了Serilizable接口,这个类的所有属性和方法都会自动序列化。 然而在实际开发过程中,我们常常会遇到这样的问题,这个类的有些属性需要序列化,而其他属性不需要原创 2018-01-05 16:45:10 · 255 阅读 · 0 评论 -
JAVA中NIO,AIO,BIO详解
在高性能的IO体系设计中,有几个名词概念常常会使我们感到迷惑不解。具体如下: 序号 问题1 什么是同步?2 什么是异步?3 什么是阻塞?4 什么是非阻塞?5 什么是同步阻塞?6 什么是同步非阻塞?7 什么是异步阻塞?8 什么是异步非阻塞?散仙不才,在查了一部分资料后,愿试着以通俗易懂的方式解释下这几个名词。如有不足之处,还望告知。 在原创 2017-12-19 10:34:43 · 212 阅读 · 0 评论 -
map判断key不区分大小写
需要学习视频资料请加qq 1686763368有时候我们会需要一个不区分KEY大小写的MAP,当然仅仅是Map<String, Object>这种类型的Map今天介绍一个apache.commons包里的类,org.apache.commons.collections.map.CaseInsensitiveMap例子: public static void main(S...原创 2017-12-12 15:08:29 · 13747 阅读 · 0 评论 -
frameset框架的入门
原创 2017-10-26 16:36:12 · 312 阅读 · 0 评论 -
Singleton 单例模式(懒汉方式和饿汉方式)
单例模式的概念:单例模式的意思就是只有一个实例。单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。这个类称为单例类。关键点:1)一个类只有一个实例 这是最基本的2)它必须自行创建这个实例3)它必须自行向整个系统提供这个实例-------------------------------------------------------原创 2017-08-22 22:40:36 · 216 阅读 · 0 评论 -
Java开发中的23种设计模式详解(转)
设计模式(Design Patterns) ——可复用面向对象软件的基础设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化转载 2017-08-20 21:48:43 · 304 阅读 · 0 评论 -
聊聊分布式事务,再说说解决方案
前言最近很久没有写博客了,一方面是因为公司事情最近比较忙,另外一方面是因为在进行 CAP 的下一阶段的开发工作,不过目前已经告一段落了。接下来还是开始我们今天的话题,说说分布式事务,或者说是我眼中的分布式事务,因为每个人可能对其的理解都不一样。分布式事务是企业集成中的一个技术难点,也是每一个分布式系统架构中都会涉及到的一个东西,特别是在微服务架构中,几乎可以说是无法避免,本文就分布式事务来简单聊一...转载 2018-04-16 14:49:30 · 163 阅读 · 0 评论 -
获得resource的下的文件
String fileURL=Thread.currentThread().getContextClassLoader().getResource("resource下的路径").getPath();原创 2018-04-23 10:30:39 · 553 阅读 · 0 评论 -
SHA1加密
需要学习视频资料请加qq 1686763368public static String getSha1(String str){ if(str==null||str.length()==0){ return null; } char hexDigits[] = {'0','1','2','3','4','5','6',...原创 2018-05-10 15:25:45 · 564 阅读 · 0 评论 -
Pattern用法(正则表达式)
1. 正则表达式的应用 在给用户发送消息时通常情况会有相同的消息模板,但其中部分信息跟用户相关,因此需要对消息模板中的变量部分进行替换。而对于一个系统而言可能有很多套完全不同的模板。因此需要一个通用的根据实际信息替换消息模板中变量的方法。消息模板的变量与velcity中的变量规范相同。publicstatic <K, V> String replacePlaceHolder...转载 2018-07-03 14:55:12 · 7491 阅读 · 0 评论 -
mybatis 一次执行多条SQL
原文出处 感谢作者: http://rhodian.iteye.com/blog/1930891mybatis+mysql如何批量执行多条语句博客分类: mybatis+mysqlmybatismysql批量提交allowMultiQueries 此处仅描述问题处理方法,关于mysql、mybatis的内容不在此赘述。 因为项目需要,需要在mybatis同个标签中执行多条sql语句。如下: Xm...转载 2018-06-27 15:40:09 · 584 阅读 · 0 评论 -
springcloud中ribbon手动设置负载均衡策略
需要学习视频资料请加qq 1686763368Order: ribbon: Nfloadbalancerruleclassname: com.netflix.loadbalancer.RandomRule默认是轮询,这个是随机。设置其他的IRule类中ctrl +Alt +B看其中的负载策略public interface IRule { Server...原创 2018-07-02 14:14:13 · 854 阅读 · 0 评论 -
springboot中restTemplate通讯的三种方式
需要学习视频资料请加qq 1686763368@Autowired private LoadBalancerClient loadBalancerClient; @Autowired // private RestTemplate restTemplate; /** * resttemplate 三种调用方法 * * @ret...原创 2018-07-02 11:49:12 · 1512 阅读 · 0 评论 -
使用redis来做解决分布式锁的问题
需要学习视频资料请加qq 1686763368import lombok.extern.slf4j.Slf4j;import org.simpleframework.xml.core.Commit;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.data....原创 2019-11-05 12:23:25 · 221 阅读 · 0 评论 -
Quartz和Spring Task定时任务的简单应用和比较
看了两个项目,一个用的是Quartz写的定时器,一个是使用spring的task写的,网上看了2篇文章,写的比较清楚,这里做一下留存 链接一、菠萝大象:http://www.blogjava.net/bolo/archive/2015/03/12/423408.html 连接二:http://huangrongyou.iteye.com/blog/1762869一、...转载 2018-06-26 09:37:54 · 186 阅读 · 0 评论 -
JAVA正则表达式:Pattern类与Matcher类详解(转)
java.util.regex是一个用正则表达式所订制的模式来对字符串进行匹配工作的类库包。它包括两个类:Pattern和Matcher Pattern 一个Pattern是一个正则表达式经编译后的表现模式。 Matcher 一个Matcher对象是一个状态机器,它依据Pattern对象做为匹配模式对字符串展开匹配检查。 首先一个Pattern实例订制了一个所用语法与PERL的类似的正则表达式经编...转载 2018-05-23 16:05:51 · 285 阅读 · 0 评论 -
J2EE与JavaWeb的区别
需要学习视频资料请加qq 16867633681、Java分类 Java分为JavaSE(Java标准版)、J2EE(Java企业版)和JavaME(Java微型版); JavaSE(Java Standard Edition),一般用来开发桌面应用程序,但是在开发桌面应用程序上相对VB,Delphi,VC++并没有什么优势。 JavaEE(Java Enterpr...原创 2018-05-22 10:07:11 · 7176 阅读 · 0 评论 -
handlebars.js基础学习笔记
handlebars基础用法 {{title}} {{content}} $(docum原创 2017-10-17 16:05:35 · 277 阅读 · 0 评论 -
java中解决list集合里对象重复问题
需要学习视频资料请加qq 1686763368import java.util.*;public class TestSet { public static void main(String[] args) { User u1 = new User("aa","11"); User u2 = new User("aa","11"); ...原创 2017-10-24 16:10:07 · 2524 阅读 · 0 评论 -
解决springmvc往界面传输数据时,UI界面接到是乱码问题
produces="application/json;charset=UTF-8"原创 2017-09-25 17:04:08 · 283 阅读 · 0 评论 -
mybatis中批量插入数据(MYSQL)
由于项目需要生成多条数据,并保存到数据库当中,在程序中封装了一个List集合对象,然后需要把该集合中的实体插入到数据库中,项目使用了Spring+MyBatis,所以打算使用MyBatis批量插入,应该要比循环插入的效果更好,由于之前没用过批量插入,在网上找了一些资料后最终实现了,把详细过程贴出来。供以后查阅和学习。 java代码:注意:这里循环的时候需new 出来新的对象,转载 2017-08-17 16:51:12 · 1610 阅读 · 1 评论 -
在windows上实现java6和Java8共存解决办法
问题背景公司项目中应用到的jdk环境为1.6,最近在家学习IntelliJ IDEA中sdk多环境配置时,想安装Jdk1.8,作为学习基础。那么问题来了,公司项目扩展不支持jdk1.8,为了既能满足公司项目开发环境,又能满足学习jdk1.8的需要,当然不能每一次都进行jdk的安装和卸载,需要探索另一种新方法。分析问题为了多快好省的解决当前的问题,我的想法是在windows中转载 2017-09-26 13:22:08 · 486 阅读 · 0 评论 -
java中有三种移位运算符
>> : 右移运算符,num >> 1,相当于num除以2>>> : 无符号右移,忽略符号位,空位都以0补齐下面来看看这些移位运算都是怎样使用的 1 /** 2 * 3 */ 4 package com.b510.test; 5 6 /** 7 * @author Jone Hongten 8 * @create转载 2017-09-15 15:53:03 · 224 阅读 · 0 评论 -
深入浅析java web log4j 配置及在web项目中配置Log4j的技巧
一:Log4j入门简介学习 Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件、甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等;我们也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程。最令人感兴趣的就是,这些可以通过一个配置文件来灵活地进行配置,而不转载 2017-08-29 15:17:45 · 4601 阅读 · 0 评论 -
遍历Map的四种方法
public static void main(String[] args) { Map map = new HashMap(); map.put("1", "value1"); map.put("2", "value2"); map.put("3", "value3"); //第一种:普遍使用,二次取值 System.out.println("通过原创 2017-09-06 13:45:53 · 183 阅读 · 0 评论 -
三层架构与MVC之间的区别
我们平时总是将三层架构与MVC混为一谈,殊不知它俩并不是一个概念。下面我来为大家揭晓我所知道的一些真相。首先,它俩根本不是一个概念。 三层架构是一个分层式的软件体系架构设计,它可适用于任何一个项目。 MVC是一个设计模式,它是根据项目的具体需求来决定是否适用于该项目。 那么架构跟设计模式有什么区别呢? 我们从接手一个项目开始,首先,我们需要进行架构设计,一般我们采用的就转载 2017-09-13 10:24:00 · 224 阅读 · 0 评论 -
获得程序当前路径System.getProperty("user.dir")
/** 获得当前类的完整路径。最后一句 */ package org.outman.dms.server; import java.net.MalformedURLException; import java.net.URI; import java.net.URISyntaxException; import java.net.URL;转载 2017-09-13 09:52:54 · 580 阅读 · 0 评论 -
springmvc请求参数获取的几种方法
1、直接把表单的参数写在Controller相应的方法的形参中,适用于get方式提交,不适用于post方式提交。 /** * 1.直接把表单的参数写在Controller相应的方法的形参中 * @param username * @param password * @return */ @RequestMapping("原创 2017-09-19 13:56:15 · 342 阅读 · 0 评论 -
http请求状态码详解
http状态返回代码 1xx(临时响应)表示临时响应并需要请求者继续执行操作的状态代码。http状态返回代码 代码 说明100 (继续) 请求者应当继续提出请求。 服务器返回此代码表示已收到请求的第一部分,正在等待其余部分。 101 (切换协议) 请求者已要求服务器切换协议,服务器已确认并准备切换。http状态返回代码 2xx (成功)表示成原创 2017-09-27 15:48:54 · 276 阅读 · 0 评论 -
springboot分布式事务管理(atomikos)
需要学习视频资料请加qq 1686763368最近公司有用到分布式事务管理,结合公司和我上网查询的一些资料,特来梳理一下我思路。本篇文章使用时(atomikos)来进行springboot的分布式事务管理1.引用jta-atomikos架包 <dependency> <groupId>org.springframework.boot</...原创 2017-09-28 16:15:00 · 17801 阅读 · 14 评论 -
java 常用集合list与Set、Map区别及适用场景总结
list与Set、Map区别及适用场景1、List,Set都是继承自Collection接口,Map则不是2、List特点:元素有放入顺序,元素可重复 ,Set特点:元素无放入顺序,元素不可重复,重复元素会覆盖掉,(注意:元素虽然无放入顺序,但是元素在set中的位置是有该元素的HashCode决定的,其位置其实是固定的,加入Set 的Object必须定义equals转载 2017-10-30 11:08:52 · 281 阅读 · 0 评论 -
Linux下启动tomcat报java.lang.OutOfMemoryError: PermGen space
需要学习视频资料请加qq 1686763368一、错误信息java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Nati...原创 2017-10-13 10:03:45 · 6120 阅读 · 0 评论 -
springboot中maven打包
在pom.xml加入 org.apache.maven.plugins maven-compiler-plugin JDK版本 JDK版本 org.springframework.boot spring-boot-maven-plugin 启动全类路径原创 2017-10-05 18:56:29 · 278 阅读 · 1 评论 -
maven项目中读取properties文件
需要学习视频资料请加qq 1686763368在我们开发的过程中,有些属性可能不会经常修改,但是有时需要修改的时候有得从代码中一层一层的去找,很似麻烦。因此需要配置一个属性文件.properties,进行读取和方便我们来进行修改。public class PropertiesUtil { private static final String properiesName = "...原创 2017-10-17 10:32:23 · 5232 阅读 · 0 评论 -
Eclipse Java注释模板设置详解
转载自:http://blog.csdn.net/ahhsxy/article/details/4542682设置注释模板的入口: Window->Preference->Java->Code Style->Code Template 然后展开Comments节点就是所有需设置注释的元素啦。现就每一个元素逐一介绍:文件(Files)注释标签:/** * @Title转载 2017-10-03 13:27:11 · 245 阅读 · 0 评论 -
jms进行异步通讯
1>什么是JMS?jms是java框架提供一中异步通讯服务的消息中间件。用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信。Java消息服务应用程序结构支持两种模型:点对点或队列模型发布/订阅模型在点对点或队列模型下,一个生产者向一个特定的队列发布消息,一个消费者从该队列中读取消息。这里,生产者知道消费者的队列,并直接将消息发送到消费者的队列。这种模式原创 2017-10-03 11:03:39 · 466 阅读 · 0 评论 -
什么时候使用CountDownLatch
正如每个Java文档所描述的那样,CountDownLatch是一个同步工具类,它允许一个或多个线程一直等待,直到其他线程的操作执行完后再执行。在Java并发中,countdownlatch的概念是一个常见的面试题,所以一定要确保你很好的理解了它。在这篇文章中,我将会涉及到在Java并发编 程中跟CountDownLatch相关的以下几点:目录CountDownLatch是什么?C转载 2017-09-22 15:25:19 · 177 阅读 · 0 评论