【Java】
Java是一门非常优秀的编程语言
痴书先生
静以修身,俭以养德
展开
-
单元测试基本套路
好的实现,一定是可测试的。单元测试(Unit Testing)又称为模块测试, 是针对程序模块(软件设计的最小单位)来进行正确性检验的测试工作。单元测试不仅仅用来保证当前代码的正确性,更重要的是用来保证代码修复、改进或重构之后的正确性。单元测试应该单独测试一个类,这就需要排除此类的依赖类造成的影响。如图所示,要为class A进行单元测试,那么可以通过为其依赖的Class B ,C...原创 2019-03-26 19:56:52 · 789 阅读 · 0 评论 -
Map的LinkedCaseInsensitiveMap和CaseInsensitiveMap的使用
CaseInsensitiveMap—不区分大小写的无序map;LinkedCaseInsensitiveMap—不区分大小写的有序map;数据库本身对大小写不敏感(我使用的是mysql),但是创建表格的时候,数据库里面字段都会默认小写,所以MyBatis映射的时候,key也会映射成小写,可以用LinkedCaseInsensitiveMap(key值不区分大小写的LinkedMap)来处...原创 2018-06-04 09:02:50 · 9759 阅读 · 0 评论 -
StringUtils类中isEmpty与isBlank的区别总结
org.apache.commons.lang.StringUtils类提供了String的常用操作,最为常用的判空有如下两种isEmpty(String str)和isBlank(String str)。查看源码public class StringUtils{ public static boolean isEmpty(String str) { return (str...原创 2018-06-27 11:13:19 · 891 阅读 · 0 评论 -
RESTful 接口实现简明指南
在前后端分离的 Web 应用架构中,前端专注于页面,同时与后端进行数据交互;而后端则专注于提供 API 接口。在这样的结构下,REST 是一个很流行的前后端交互形式的约定。这只是一套约定,并不是某个技术标准,所以在实际的应用中,对器实现程度完全取决于后端开发者;一些号称 RESTful 的接口并没有那么RESTful。在我所见过的 RESTful 接口的实现中,以 GitHub 最让人惊叹...转载 2018-11-19 14:34:32 · 216 阅读 · 0 评论 -
深刻理解java的标签用法
把下面的例子赋值到你的IDE中,运行一下,好好分析下结果。你就会深刻理解java中的标签用法了,与此同时,你还掌握了break和continue的用法,答案不贴出来了! 经典案例:public static void main(String[] args) { label: for (int i = 0; i < 4; i++) { for (int j = 1; j <= 10...原创 2018-07-12 14:56:40 · 323 阅读 · 0 评论 -
关于java中的标签用法
public static void main(String[] args) {for (int i = 1; i <= 3; i++) {for (int k = 1; k <4; k++) {System.out.println("k==="+k);if(k==2){break;//直接跳出最内层循环}}System.out.println("i==="+i);}...原创 2018-07-10 16:09:56 · 572 阅读 · 0 评论 -
Java 数组如何转成List集合
问题描述:对于给定的如下数组,如何转换成List集合? String[] array = {“a”,”b”,”c”}; 参考stackoverflow总结如下几种写法: 1.使用原生方式,拆分数组,添加到ListList resultList = new ArrayList<>(array.length); for (String s : array) { resultList.a转载 2018-04-23 10:05:31 · 3036 阅读 · 0 评论 -
关于MD5加密算法的简单总结
Md5在线加密工具链接:http://tools.jb51.net/password/CreateMD5Password 一、Md5加密的Java实现在各种应用系统中,如果需要设置账户,那么就会涉及到储存用户账户信息的问题,为了保证所储存账户信息的安全,通常会采用MD5加密的方式来,进行储存。首先,简单得介绍一下,什么是MD5加密。 MD5的全称是Message-Diges...原创 2017-11-17 17:31:45 · 502 阅读 · 0 评论 -
解决html转义及防止javascript注入攻击
第一种:value="${wcrActivity.activityTitle.replace(//g,'>').replace(/"/g,'"');}" 第二种:value="${wcrPlatformSet.platformName.replace('\"','"')}" 第三种:后台获取该字段的时候使用request.get原创 2017-08-31 21:03:13 · 2681 阅读 · 0 评论 -
SSM框架——实现分页和搜索分页
分页是Java WEB项目常用的功能,昨天在spring MVC中实现了简单的分页操作和搜索分页,在此记录一下。使用的框架为(MyBatis+SpringMVC+Spring)。 首先我们需要一个分页的工具类:1.分页 [java] view plain copy print?import java.io.Serializable; /...转载 2017-06-26 18:05:28 · 566 阅读 · 0 评论 -
UUID详解,uuid在线生成
UUID是什么?UUID(Universally Unique Identifier)全局唯一标识符,是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的。按照开放软件基金会(OSF)制定的标准计算,用到了以太网卡地址、纳秒级时间、芯片ID码和许多可能的数字。由以下几部分的组合:当前日期和时间(UUID的第一个部分与时间有关,如果你在生成一个UUID之后,过几秒又生成一个UUID...转载 2017-06-03 22:28:01 · 4627 阅读 · 1 评论 -
JSON工具类
package com.test.util;import com.google.gson.Gson;import com.google.gson.GsonBuilder;import com.google.gson.JsonArray;import com.google.gson.JsonElement;import com.google.gson.JsonObject;im...原创 2019-03-25 18:42:45 · 277 阅读 · 0 评论 -
支付宝支付申请流程
1.登录支付宝商家账号,进入支付宝商家中心2.点击开放平台按钮,进入支付宝开放平台3.进入支付宝开放平台4.点击自研开发者5.完善信息6.进入开放平台7.点击网页&移动应用8.支付接入,创建应用名称9.编辑应用信息(应用名称,应用logo),选择功能项,设置公钥秘钥,提交审核10.审核通过11.支付签约...原创 2019-01-26 13:19:24 · 1272 阅读 · 0 评论 -
腾讯短信对接
1.登录腾讯云地址:https://cloud.tencent.com2.进入控制台3.点击短信4.点击添加应用5.点击添加好的应用进入详情页面,获取SDK AppID和App Key 6.点击国内短信-短信内容配置,创建签名7.点击短信正文,创建正文模板8.短信SDK和API官方地址:https://github.com/q...原创 2018-12-24 15:27:11 · 538 阅读 · 0 评论 -
遍历map的总结
map的遍历方式:public class MapTest { public static void main(String[] args) { Map&amp;amp;lt;Integer, String&amp;amp;gt; map = new HashMap&amp;amp;lt;&amp;amp;gt;(); //map集合存入数据 map.put(1, &a原创 2018-06-04 09:10:48 · 170 阅读 · 0 评论 -
JAVA性能优化
一.for循环性能优化1.循环嵌套:外小内大; for(int i=0;i<99999,i++){ for(int j=0,j<20,j++)}改为 for(int i=0;i<20,i++){ for(int j=0,j<99999,j++)}2.提取与循环无关表达式;int c=0;for(int j=0,j&...原创 2018-09-29 10:26:14 · 109 阅读 · 0 评论 -
究竟什么是rest风格
一直迷惑于rest风格,从这两篇博客中了解一下吧!1.理解本真的REST架构风格: http://kb.cnblogs.com/page/186516/2.深入浅出REST: https://kb.cnblogs.com/page/132129/原创 2017-12-04 14:37:15 · 599 阅读 · 0 评论 -
mybatis的${}和#{}的用法剖析
在实际项目用到的,搞了半天,决定总结下。1. #{}的用法。 <select id="findAppUserById" parameterType="map" resultType="au"> select * from sys_app_user where user_id = #{id} </select> <select id="get.原创 2018-07-02 10:34:55 · 2338 阅读 · 0 评论 -
JAVA编程中常用的四种JSON解析方式
我们在日常开发中少不了和JSON数据打交道,那么我们来看看JAVA中常用的JSON解析方式。 1、JSON官方 2、GSON 3、FastJSON 4、jackson JSON操作涉及到的类: public class Student { private int id; private String name; private int age;...原创 2018-08-21 09:07:35 · 562 阅读 · 0 评论 -
Java中的String,StringBuilder,StringBuffer三者的区别(精辟总结)
原文地址:https://www.cnblogs.com/su-feng/p/6659064.html 最近在学习Java的时候,遇到了这样一个问题,就是String,StringBuilder以及StringBuffer这三个类之间有什么区别呢,自己从网上搜索了一些资料,有所了解了之后在这里整理一下,便于大家观看,也便于加深自己学习过程中对这些知识点的记忆,如果哪里有误,恳请指正。 这...转载 2018-11-23 23:15:47 · 99 阅读 · 0 评论 -
Java String类的常用方法汇总
Web的开发离不开基础的学习,这篇文章主要为大家详细汇总了Java String类的常用方法,感兴趣的小伙伴们可以参考一下. 一、String类String类在java.lang包中,java使用String类创建一个字符串变量,字符串变量属于对象。java把String类声明的final类,不能有类。String类对象创建后不能修改,由0或多个字符组成,包含在一对双引号之间。二、St...转载 2017-09-12 13:49:01 · 1802 阅读 · 0 评论 -
${pageContext.request.contextPath}的作用
${pageContext.request.contextPath}等价于<%=request.getContextPath()%> 或者可以说是<%=request.getContextPath()%>的EL版 意思就是取出部署的应用程序名或者是当前的项目名称比如我的项目名称是test 在浏览器中输入为http://localhost:8989/test/login....原创 2016-06-26 17:39:08 · 570 阅读 · 0 评论 -
常用的MIME类型
.doc application/msword.docx application/vnd.openxmlformats-officedocument.wordprocessingml.document.rtf application/rtf.xls application/vnd.ms-excel application/x-excel.xlsx ...转载 2016-06-08 19:53:14 · 279 阅读 · 0 评论 -
Java权限修饰符
原创 2017-05-25 23:41:06 · 201 阅读 · 0 评论 -
JAVA8 十大新特性详解
本教程将Java8的新特新逐一列出,并将使用简单的代码示例来指导你如何使用默认接口方法,lambda表达式,方法引用以及多重Annotation,之后你将会学到最新的API上的改进,比如流,函数式接口,Map以及全新的日期API “Java is still not dead—and people are starting to figure that out.”本教程将用带注释的简单...原创 2017-05-15 22:04:05 · 199 阅读 · 0 评论 -
如何编写和应用Java的自定义异常类
11.7.1 编写自定义异常类的模式编写自定义异常类实际上是继承一个API标准异常类,用新定义的异常处理信息覆盖原有信息的过程。常用的编写自定义异常类的模式如下: public class CustomException extends Exception { //或者继承任何标准异常类 public CustomException() {} ...转载 2016-05-21 23:53:13 · 548 阅读 · 0 评论 -
使用随机存取文件流:RandomAccessFile实现文本文件内容的随机插入
比上一个博客的文章更加通用的代码如下:补充:hello.txt文档内容:abcdefg12345adafe123wwe public class TestRandomAccessFile {//相较于test3,更通用@Testpublic void test4(){RandomAccessFile raf = null;try {raf = new Rando...原创 2016-04-06 12:45:28 · 1315 阅读 · 0 评论 -
两种方法使用随机存取文件流RandomAccessFile实现根目录下文档内容任意位置的插入。
public class TestRandomAccessFile {其实,方法都是 一个思想,但是实现一个复杂一点,一个简单一些。补充:hello.txt中内容为:abcdefg12345 //方法一:实现插入的效果:在d字符后面插入“xy”@Testpublic void testInsert1(){RandomAccessFile raf = null;try ...原创 2016-04-06 11:15:22 · 1272 阅读 · 0 评论 -
位,字节,字的区别
1、位(bit) 来自英文bit,音译为“比特”,表示二进制位。位是计算机内部数据储存的最小单位,11010100是一个8位二进制数。一个二进制位只可以表示0和1两种状态(21);两个二进制位可以表示00、01、10、11四种(22)状态;三位二进制数可表示八种状态(23)……。 2、字节(byte) 字节来自英文Byte,音译为“拜特”,习惯上用大写的“B”表示。 字节是计算机中数据...转载 2016-04-05 13:55:42 · 671 阅读 · 0 评论 -
1.请从键盘随机输入10个整数保存到List中,并按倒序、从大到小的顺序显示出来
@Testpublic void test1() {Scanner s = new Scanner(System.in);System.out.println("请输入10个整数:");List list = new ArrayList();for (int j = 0; j < 10; j++) {int i = s.nextInt();list.add(i);}Syst...原创 2016-04-04 22:27:58 · 11082 阅读 · 0 评论 -
反射的基础
>获取Class的实例:(3种)// 1.通过运行时类的对象,调用getClass()获取Person p1 = new Person();Class clazz1 = p1.getClass();System.out.println(clazz1);// 2.调动运行时类的class属性Class clazz2 = Person.class;System.out.p...原创 2017-05-26 00:08:11 · 173 阅读 · 0 评论 -
Java中的重载与重写
【面试题】方法的重写 与 重载的区别?分别去解释方法的重载(同一个类中) 与 重写(前提:有了继承) 重载与重写的规则。 构造器可以重载,不可以重写。 重写的规则: 权限修饰符 返回值类型 方法名(参数列表){方法体} * >子类重写的方法与父类的被重写的方法的返回值类型、方法名和参数列表一致 * >子类重写的方法的权限修饰符不能小于...原创 2017-05-25 23:43:29 · 300 阅读 · 0 评论 -
Java中接口interface与抽象类abstract
* abstract:抽象的 * 1.可以用来修饰类、方法 * * 2.abstract修饰类:抽象类 * >抽象类不可以被实例化(即不能创建抽象类的对象) * >抽象类通常是用来被继承的,那么继承的子类可以使用父类声明的结构:属性、方法等 * >抽象类中可以声明构造器!(凡是类都有构造器) * >抽象类中可以没有声明抽象方法 * *...原创 2017-05-25 23:56:15 · 270 阅读 · 0 评论 -
xml xhtml html dhtml的区别
1)XML XML是The Extensible Markup Language(可扩展标识语言)的简写。目前推荐遵循的是W3C于2000年10月6日发布的XML1.0,参考(www.w3.org/TR/2000/REC-XML-20001006)。和HTML一样,XML同样来源于SGML,但XML是一种能定义其他语言的语。XML最初设计的目的是弥补HTML的不足,以强大的扩展性满足网络信息发...转载 2016-05-03 14:33:44 · 533 阅读 · 0 评论 -
字节、字、bit、byte的关系
字 word 字节 byte 位 bit 字长是指字的长度1字=2字节(1 word = 2 byte) 1字节=8位(1 byte = 8bit) 一个字的字长为16 一个字节的字长是8bps 是 bits per second 的简称。一般数据机及网络通讯的传输速率都是以「bps」为单位。如56Kbps、100.0Mbps 等等。 Bps即是Byte per seco...转载 2016-12-16 21:28:23 · 331 阅读 · 0 评论 -
Arrays.asList的用法
Arrays.asList 返回数组而非List。List的一个典型的特性就是其长度是可变的,我们可以很方便地对它进行插入和删除元素的操作,这是它与数组所存在的一个很大的区别,后者的长度是固定的,而且我们不能从数组中删除元素,只能修改元素的值。利用Arrays.asList(array)返回一个List,然而这个返回的是只读的List不支持add和remove的操作。JDK文档是这么说的...转载 2016-05-16 20:37:46 · 9348 阅读 · 1 评论 -
Java基础知识总结(绝对经典)
写代码: 1,明确需求。我要做什么?2,分析思路。我要怎么做?1,2,3。3,确定步骤。每一个思路部分用到哪些语句,方法,和对象。4,代码实现。用具体的Java语言代码把思路体现出来。 学习新技术的四点:1,该技术是什么?2,该技术有什么特点(使用注意):3,该技术怎么使用。demo4,该技术什么时候用?test。------...原创 2017-07-13 13:10:55 · 329 阅读 · 0 评论 -
2.请把学生名与考试分数录入到Map中,并按分数显示前三名成绩学员的名字。
@Testpublic void test2() { Map<String, Integer> map = new HashMap<String, Integer>(); map.put("AA", 100); map.put("BB", 80); map.put("CC", 90); map.p...原创 2016-04-04 22:25:59 · 6791 阅读 · 0 评论 -
Java基本类型和引用类型
8种基本类型 (简记:4类8种)一、4种整型 byte 1字节 -128——127 short 2 字节 -32,768 —— 32,767 int 4 字节 -2,147,483,648 ——2,147,483,647(超过20亿) long 8 字节 ...原创 2017-02-23 18:46:04 · 272 阅读 · 0 评论 -
枚举类
枚举类:一个类若其对象是确定的,并且是可数多个的,那么这个类就是一个枚举类 * >单例可以看成是枚举类的特殊情况 * 1.如何自定义枚举类 * * 2.如何使用enum关键字定义枚举类 * * >两个方法的使用:values() valueOf(String obj); * * 3.枚举类实现接口,让枚举类的对象分别去实现接口中的抽象方法【自定义枚举类】cl...原创 2017-05-25 23:59:58 · 504 阅读 · 0 评论