java
我是谁_Gary
这个作者很懒,什么都没留下…
展开
-
Spring boot 异常处理之最佳实践
1. controller类内部异常处理器@RestController@RequestMapping("/exception")public class ExceptionController{ @Autowired private UserService userService; @RequestMapping("/test1") public v...原创 2018-12-24 13:43:06 · 454 阅读 · 0 评论 -
根据经纬度查询具体地址
根据经纬度查询地址详细信息, Java 代码实现public static String getAdd(String lng, String lat) { String urlString = "http://api.map.baidu.com/geocoder/v2/?ak=pWNVQZQIhhhtdXhgxdBKtoMxhMFNhWPC&callback=...原创 2018-10-17 16:37:53 · 10250 阅读 · 1 评论 -
Java中volatile关键字深度解析
一、内存模型的相关概念大家都知道,计算机执行程序时,每条指令都是在CPU中执行的,而执行指令过程中,势必涉及到数据的读取和写入。由于程序运行过程中的临时数据是存放在内存当中的,这就存在一个问题,由于CPU执行指令的速度很快,而从内存读取和写入数据的速度慢得多,因此如果任何时候对数据的操作都要通过和内存的交互来进行,会大大降低执行速度。因此在CPU里边就有了高速缓存。也就是,当程序运行过程中原创 2017-09-03 11:51:10 · 6207 阅读 · 0 评论 -
ConcurrentHashMap原理解析
一、ConcurrentHashMap的机构分析 ConcurrentHashMap 类中包含两个静态内部类 HashEntry 和 Segment。HashEntry 用来封装映射表的键 / 值对;Segment 用来充当锁的角色,每个 Segment 对象守护整个散列映射表的若干个桶。每个桶是由若干个 HashEntry 对象链接起来的链表。一个 ConcurrentHashMap 实例中包含转载 2017-09-10 22:18:16 · 341 阅读 · 0 评论 -
Ubuntu install mysql-connector-java for java to connect MySQL database
Ubuntu install mysql-connector-java for java to connect MySQL database 1. Download mysql-connector-java from https://dev.mysql.com/downloads/connector/j/ 2. Unzip mysql-connector-java-*.tar.gz 3. Co原创 2017-08-07 00:03:02 · 1335 阅读 · 0 评论 -
删除文件夹及其下的所有文件
public static void rmFilesAndFolders(String path) { File f = new File(path); if (f.exists()) { if (f.isFile()) f.delete(); else { String[] childrens = f.原创 2016-08-05 13:30:27 · 285 阅读 · 0 评论 -
最长公共子序列
如果简单递归解决最长公共子序列这一问题,时间复杂度为指数级,因为有大量的重复子问题。经研究发现,最长公共子序列满足动态规划算法的条件,所以我们用动态规划解之。 假设字符序列A=“a0,a1,…,am-1”,B=“b0,b1,…,bn-1”,Z=“z0,z1,…,zk-1”为它们的最长公共子序列。 不难证明有以下性质: (1) 如果am-1=bn-1,则zk-1=am-1=bn-1,且“z0,z原创 2016-07-28 18:07:41 · 664 阅读 · 0 评论 -
Java 快速读取文本文件最后一行数据
public static String readLastLine(File file, String charset) throws IOException { if (!file.exists() || file.isDirectory() || !file.canRead()) return null; RandomAccess转载 2016-07-07 17:38:57 · 3580 阅读 · 0 评论 -
Java初始化顺序
1 无继承情况下的Java初始化顺序:class Sample{ Sample(String s) { System.out.println(s); } Sample() { System.out.println("Sample默认构造函数被调用"); }}class Test{ static转载 2016-07-07 15:52:38 · 300 阅读 · 0 评论 -
Spring Boot 整合 Mybatis
public class User{ private int id; private String name; private int age; public User(int id, String name, int age) { this.id = id; this.name = name; this...原创 2018-10-17 19:57:15 · 138 阅读 · 0 评论 -
MySQL建表语句导出
public static void exports() { Connection con = null; Statement stmt = null; PreparedStatement pstmt = null; try { Class.forName("com.mysql.jd...原创 2018-10-30 14:55:17 · 935 阅读 · 0 评论 -
使用Spring Boot Actuator插件监控性能
Spring Boot Actuator的关键特性是在应用程序里提供众多Web端点,通过它们了解应用程序运行时的内部状况。有了Actuator,你可以知道Bean在Spring应用程序上下文里是如何组装在一起的,掌握应用程序可以获取的环境属性信息,获取运行时度量信息的快照。1. 简单使用1. Maven依赖<dependency> <groupId>o...原创 2018-12-22 17:50:04 · 1920 阅读 · 0 评论 -
彻底解决mysql中文乱码【转载】
mysql是我们项目中非常常用的数据型数据库。但是因为我们需要在数据库保存中文字符,所以经常遇到数据库乱码情况。下面就来介绍一下如何彻底解决数据库中文乱码情况。1、中文乱码1.1、中文乱码 create table user(name varchar(11)); # 创建user表 insert into table user("carl"); # 添加数据...转载 2018-11-30 23:45:11 · 1633 阅读 · 1 评论 -
避坑必看:很详尽的MyBatis返回自增主键实验【转载】
避坑必看:很详尽的MyBatis返回自增主键实验(包括插入或更新SQL语句insert on duplicate key update的自增主键返回情况)目录1. 实验对比维度(1)单纯的insert和insert on duplicate key update(2)selectKey和useGeneratedKeys(3)@Param和parameterType(4)单个...转载 2018-11-30 23:36:50 · 1239 阅读 · 3 评论 -
Maven中设置镜像仓库的简单配置
在maven的settings.xml 文件里配置mirrors的子节点,添加如下mirror:<mirror><id>nexus-aliyun</id><mirrorOf>*</mirrorOf><name>Nexus aliyun</name><url>http://m原创 2018-11-30 23:27:58 · 336 阅读 · 0 评论 -
java中{0}占位符的使用
MessageFormat.format(“一种简单的Java占位符实现:{0}分隔{1}”, "val1" ,”val2”));原创 2018-11-30 23:24:23 · 9174 阅读 · 0 评论 -
生成六位随即验证码的一种简单实现
public static String generateRandomNum(){ Random random = new Random(); String result=""; for (int i=0;i<6;i++) { result+=random.nextInt(10); } return result;}原创 2018-11-30 23:19:40 · 1022 阅读 · 0 评论 -
SpringBoot 实现定时任务
串行调度与并行调度1. 串行调度使用的注解: @Scheduled 和 @EnableScheduling@SpringBootApplication@EnableSchedulingpublic class ScheduleApplication{ public static void main(String[] args) { SpringA...原创 2018-11-30 23:09:15 · 157 阅读 · 0 评论 -
将 Http 请求返回的 json 格式数据转换为 Object
本文只贴出核心部分代码,与业务相关的代码没有放出来~自己觉得 Spring boot 中这么实现不是最优的,贴出来待后期优化,也望有更优解的不吝赐教~ public List<PoliceAccount> getInfoFromRemote() { List<PoliceAccount> accounts= new ArrayLi...原创 2018-11-12 15:19:30 · 3684 阅读 · 0 评论 -
Java Collection Framework
Java collection framework转载 2016-07-28 15:36:29 · 375 阅读 · 0 评论 -
Enumeration, Iterator and ListIterator in Java
Both Enumeration and Iterator are interfaces in Java for getting successive elements. Enumeration is older while iterator was introduced later with some improvements. So it is preferred to use Iterator原创 2016-07-14 12:58:34 · 486 阅读 · 0 评论 -
Fail Fast And Fail Safe Iterators In Java
Iterators in java give us the facility to traverse over the Collection objects. Iterators returned by the Collection are either fail-fast in nature or fail-safe in nature. Fail-Fast iterators immediate原创 2016-07-28 15:21:38 · 355 阅读 · 0 评论 -
Timer和ScheduledExecutorService
java.util.Timer计时器有管理任务延迟执行("如1000ms后执行任务")以及周期性执行("如每500ms执行一次该任务")。但是,Timer存在一些缺陷,因此你应该考虑使用ScheduledThreadPoolExecutor作为代替品,Timer对调度的支持是基于绝对时间,而不是相对时间的,由此任务对系统时钟的改变是敏感的;ScheduledThreadExecutor只支持相对时转载 2014-12-04 21:31:42 · 658 阅读 · 0 评论 -
DefaultTableModel
DefaultTableModelDefaultTableModel类是继承AbstractTableModel抽象类而来,且实现了getColumnCount(), getRowCount()与getValueAt()3个方法.因此在实际的使用上,DefaultTableModel比AbstractTableModel要来得简单许多,也较常被拿来使用.DefaultTableModel内部使转载 2014-12-08 23:48:30 · 2745 阅读 · 0 评论 -
目录是否可写入
public static boolean isWritable(String filePath){boolean canWrite=false;File f=FileSystemView.getFileSystemView().createFileObject(filePath+"/test.init");if(!f.exists()){try {if(f.cre原创 2014-12-16 16:05:28 · 440 阅读 · 0 评论 -
Schema验证XML
public static boolean validateXMLByXSD(String xmlPath, String xsdPath) { try { XMLErrorHandler errorHandler = new XMLErrorHandler(); SAXParserFac原创 2014-12-16 16:23:58 · 480 阅读 · 0 评论 -
block and static block
public class Test{ public Test(){System.out.println("Constructor");System.out.println(Test.x);System.out.println(Test.y);}static{System.out.println("Static block");System.out原创 2014-12-16 16:44:55 · 382 阅读 · 0 评论 -
为什么要始终使用PreparedStatement代替Statement
在JDBC应用中,如果你已经是稍有水平开发者,你就应该始终以PreparedStatement代替Statement.也就是说,在任何时候都不要使用Statement.基于以下的原因:一.代码的可读性和可维护性.虽然用PreparedStatement来代替Statement会使代码多出几行,但这样的代码无论从可读性还是可维护性上来说.都比直接用Statement的代码高很多档次二转载 2014-12-22 12:52:58 · 447 阅读 · 0 评论 -
How to close resources properly
Denial of service vulnerability in the code can be identified in the areas where resource consumption or the places where attacker can disrupt the services to the legitimate users. Unreleased Resource转载 2014-12-22 14:57:44 · 444 阅读 · 0 评论 -
java equals hashCode
hashCode()和equals()定义在Object类中,这个类是所有java类的基类,所以所有的java类都继承这两个方法.使用hashCode()和equals()hashCode()方法被用来获取给定对象的唯一整数。这个整数被用来确定对象被存储在HashTable类似的结构中的位置。默认的,Object类的hashCode()方法返回这个对象存储的内存地址的编号。转载 2014-12-18 13:37:17 · 407 阅读 · 0 评论 -
Difference between ArrayList and Vector In java
Difference between ArrayList and Vector In javaArrayList and Vector both use Array as a data structure internally. However there are few differences in the way they store and process the data. In th转载 2014-12-26 11:33:18 · 383 阅读 · 0 评论 -
Regular Expressions
Java provides the java.util.regex package for pattern matching with regular expressions. Java regular expressions are very similar to the Perl programming language and very easy to learn.A regular转载 2015-07-15 13:27:04 · 484 阅读 · 0 评论 -
Java NIO(New IO) 通俗易懂简明教程
Java NIO(New IO)是从Java 1.4版本开始引入的一个新的IO API,可以替代标准的Java IO API。本系列教程将有助于你学习和理解Java NIO。转载 2016-06-30 13:12:28 · 7334 阅读 · 0 评论 -
JSON.simple example – Read and write JSON Read
JSON.simple, is a simple Java library for JSON processing, read and write JSON data and full compliance with JSON specification (RFC4627).downloaded jar json-simple-1.1.1.jar.Write JSON to转载 2016-06-29 17:31:29 · 834 阅读 · 0 评论 -
线程中断
★ 中断线程 —— interrupt()一个正在运行的线程除了正常的时间片中断之外,能否被其他线程控制?或者说其他线程能否让指定线程放弃CPU或者提前结束运行? 除了线程同步机制之外,还有两种方法:(1) Thread.stop(), Thread.suspend(), Thread.resume() 和Runtime.runFinalizersOnExit() 这些终止线程运行转载 2015-09-17 14:58:24 · 343 阅读 · 0 评论 -
The differences between String, StringBuffer and StringBuilder
StringString is immutable(once created can not be changed) object. The object created as a String is stored in the Constant String Pool.Every immutable object in Java is thread safe ,that im原创 2015-09-09 15:11:44 · 477 阅读 · 0 评论 -
从Jar包中读取资源文件
我们常常在代码中读取一些资源文件(比如图片,音乐,文本等等)。在单独运行的时候这些简单的处理当然不会有问题。但是,如果我们把代码打成一个jar包以后,即使将资源文件一并打包,这些东西也找不出来了。看看下面的代码://源代码1:package edu.hxraid;import java.io.*;public class Resource { public void getResou转载 2015-09-09 16:58:26 · 394 阅读 · 0 评论 -
正确理解wait 和 notify
/** * 线程A: 循环50次后等待并放弃锁,让线程B执行。 */class ThreadA extends Thread{ //线程同步的公共数据区 Object oa=null; ThreadA(Object o){ this.oa=o; } //线程A执行逻辑 public void run(){ //线程同步区域转载 2015-08-26 16:53:37 · 488 阅读 · 0 评论 -
Limit JTextField input to a maximum length
//LimitedDocument.javapublic class LimitedDocument extends PlainDocument { private int m_maxLength = 0; public LimitedDocument(int maxLength) { m_maxLength = maxLength; } public void inse原创 2015-08-26 13:31:46 · 700 阅读 · 0 评论 -
Java线程同步机制深入阐述
我们可以在计算机上运行各种计算机软件程序。每一个运行的程序可能包括多个独立运行的线程(Thread)。 线程(Thread)是一份独立运行的程序,有自己专用的运行栈。线程有可能和其他线程共享一些资源,比如,内存,文件,数据库等。 当多个线程同时读写同一份共享资源的时候,可能会引起冲突。这时候,我们需要引入线程“同步”机制,即各位线程之间要有个先来后到,不能一窝蜂挤上去抢作一团。 同步这转载 2015-08-26 14:41:57 · 467 阅读 · 0 评论