JAVA:Apache Commons工具集简介, BeanUtils, FileUpload, IO, Validator, Compress

Apache Commons包含了很多开源的工具,用于解决平时编程经常会遇到的问题,减少重复劳动。下面是我这几年做开发过程中自己用过的工具类做简单介绍。   组件 功能介绍 BeanUtils 提供了对于JavaBean进行各种操作,克隆对象,属性等等. Betwixt XML与Java对象之间相互转换. Codec 处理常用的编码方法的工具类包 例如DES、SHA1、MD5、Base64等. Collections java集合框架操作. Compress java提供文件打包 压缩类库. Configuration 一个java应用程序的配置管理类库. DBCP 提供数据库连接池服务. DbUtils 提供对jdbc 的… Read More

Java主线程等待子线程、线程池

public class TestThread extends Thread { public void run() { System.out.println(this.getName() + "子线程开始"); try { // 子线程休眠五秒 Thread.sleep(5000); } catch (InterruptedException e) { e.printStackTrace(); } System.out.println(this.getName() + "子线程结束"); } } 首先是一个线程,它执行完成需要5秒。   1、主线程等待一个子线程 public class Main { public static void main(Strin… Read More

JAVA: ExecutorService常用方法和newFixedThreadPool创建固定大小的线程池

1、ExecutorService: 是一个接口,继承了Executor: public interface ExecutorService extends Executor { } 2、Executor: 而Executor亦是一个接口,该接口只包含了一个方法: void execute(Runnable command); 3、Executors: 该类是一个辅助类,此包中所定义的 Executor、ExecutorService、ScheduledExecutorService、ThreadFactory 和 Callable 类的工厂和实用方法。 此类支持以下各种方法: • 创建并返回设置有常用配置字符串的 ExecutorSer… Read More

Java 数组详解 – 用法、遍历、排序、实用API

概要: 数组,就是相同数据类型的元素按一定顺序排列的集合,就是把有限个类型相同的变量用一个名字命名,然后用编号区分他们的变量的集合,这个名字称为数组名,编号称为下标。 组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。 数组是在程序设计中,为了处理方便, 把具有相同类型的若干变量按有序的形式组织起来的一种形式。这些按序排列的同类数据元素的集合称为数组。 初始化数组 动态初始化 int array = new int[3]; // 两种方式都可以 // int array = new int[3]; array[0] = 1; array[1] = 2; array[2] = 3; Syst… Read More

JAVA:JsonArray 和 JsonObject遍历方法

一:遍历JsonArray // 一个未转化的字符串 String str = "[{name:'a',value:'aa'},{name:'b',value:'bb'},{name:'c',value:'cc'},{name:'d',value:'dd'}]" ;   // 首先把字符串转成 JSONArray  对象 JSONArray json = JSONArray.fromObject(str ); if(json.size()>0){   for(int i=0;i<json.size();i++){ // 遍历 jsonarray 数组,把每一个对象转成 json 对象     JSONObject job = j… Read More

Java小数点位数保留, 小数点精确

第一种方法 – 使用DecimalFormat类 举个例子,假如我们需要保留两位小数,我们可以这样写 DecimalFormat df = new DecimalFormat("0.00"); 测试如下: double d = 0.200; DecimalFormat df = new DecimalFormat("0.00"); System.out.println(df.format(d)); 输出结果为: 0.20 若double d=0.000;输出结果为0.00; 若double d=0;输出结果为0.00; 若double d=41.2345;输出结果为41.23; 经测试,不管double d的值为多少,最后结果都是正常的两… Read More

JAVA 解析JSON数据,只要看这个就够了!

JSON是一种类似 XML的语言,是用了存储和交换文本信息的语法。它的全称为JavaScript Object Notation(JavaScript 对象表示法)。与xml对比,它更小、更快,更易解析。 想要更好的解析JSON,必须能看懂JSON数据,这样就必须了解JSON语法,好在它的语法非常简单,规则如下: JSON 语法是 JavaScript 对象表示法语法的子集。 - 数据在名称/值对中:如 "firstName" : "John" - 数据由逗号分隔 - 花括号保存对象 - 方括号保存数组 而组成JSON的值可以为以下几种: - 数字(整数或浮点数) - 字符串(在双引号中) - 逻辑值(true 或 false) - 数组(在方括号中) -… Read More

Markdown 语法完整说明

快速入门点击这里 概述 宗旨 Markdown 的目标是实现「易读易写」。 可读性,无论如何,都是最重要的。一份使用 Markdown 格式撰写的文件应该可以直接以纯文本发布,并且看起来不会像是由许多标签或是格式指令所构成。Markdown 语法受到一些既有 text-to-HTML 格式的影响,包括 Setext、atx、Textile、reStructuredText、Grutatext 和 EtText,而最大灵感来源其实是纯文本电子邮件的格式。 总之, Markdown 的语法全由一些符号所组成,这些符号经过精挑细选,其作用一目了然。比如:在文字两旁加上星号,看起来就像*强调*。Markdown 的列表看起来,嗯,就是… Read More

Markdown: Basics ,Markdown语法入门(快速入门)

完整语法点击这里   段落、标题、区块代码 一个段落是由一个以上的连接的行句组成,而一个以上的空行则会划分出不同的段落(空行的定义是显示上看起来像是空行,就被视为空行,例如有一行只有空白和 tab,那该行也会被视为空行),一般的段落不需要用空白或换行缩进。 Markdown 支持两种标题的语法,Setext 和 atx 形式。Setext 形式是用底线的形式,利用 = (最高阶标题)和 - (第二阶标题),Atx 形式在行首插入 1 到 6 个 # ,对应到标题 1 到 6 阶。 区块引用则使用 email 形式的 ‘>‘ 角括号。 Markdown 语法: A First Level Header =============… Read More

Spring Boot(四):Spring Boot构建RESTful API与单元测试

首先,回顾并详细说明一下在快速入门中使用的@Controller、@RestController、@RequestMapping注解。如果您对Spring MVC不熟悉并且还没有尝试过快速入门案例,建议先看一下快速入门的内容。 @Controller:修饰class,用来创建处理http请求的对象 @RestController:Spring4之后加入的注解,原来在@Controller中返回json需要@ResponseBody来配合,如果直接用@RestController替代@Controller就不需要再配置@ResponseBody,默认返回json格式。 @RequestMapping:配… Read More

Spring Boot(三):Spring Boot属性配置文件详解

相信很多人选择Spring Boot主要是考虑到它既能兼顾Spring的强大功能,还能实现快速开发的便捷。我们在Spring Boot使用过程中,最直观的感受就是没有了原来自己整合Spring应用时繁多的XML配置内容,替代它的是在pom.xml中引入模块化的Starter POMs,其中各个模块都有自己的默认配置,所以如果不是特殊应用场景,就只需要在application.properties中完成一些属性配置就能开启各模块的应用。 在之前的各篇文章中都有提及关于application.properties的使用,主要用来配置数据库连接、日志相关配置等。除了这些配置内容之外,本文将具体介绍一些在ap… Read More

Spring Boot(二):使用Intellij中的Spring Initializr来快速构建Spring Boot/Cloud工程

在之前的所有Spring Boot和Spring Cloud相关博文中,都会涉及Spring Boot工程的创建。而创建的方式多种多样,我们可以通过Maven来手工构建或是通过脚手架等方式快速搭建,也可以通过《Spring Boot快速入门》一文中提到的SPRING INITIALIZR页面工具来创建,相信每位读者都有自己最喜欢和最为熟练的创建方式。 本文我们将介绍嵌入的Intellij中的Spring Initializr工具,它同Web提供的创建功能一样,可以帮助我们快速的构建出一个基础的Spring Boot/Cloud工程。 菜单栏中选择File=>New=>Project..,我们可以看到… Read More