
java
文章平均质量分 61
摸鱼飞弹
这个作者很懒,什么都没留下…
展开
-
ObjectMapper解析Json字符串(数组)
前提: 以下例子中的数据结构是这样的[{"Afield":"aaa","Bfield":"bbb"},{"Afield":"bbb","Bfield":"aaa"}]前端传递过来的数据需要先用Json.stringify()来把数据转换成Json字符串,不然后端在执行时会报错。xxx是指前端传递过来的数据JSON.stringify(xxxxx)后端代码:ObjectMapper objectMapper = new ObjectMapper();JsonNode jsonN原创 2022-04-09 19:54:50 · 4394 阅读 · 1 评论 -
log4j1 介绍与使用方法(包含多种日志输出方式)
Log4j(Log for java)是Apache的一个开源项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件等等。可以通过一个配置文件来灵活地进行配置,而不需要修改应用的代码。最新版本:log4j 1.2.17 (2015 年 8 月 5 日,日志服务项目管理委员会宣布 Log4j 1.x 已结束,之后版本不再更新)下载链接:Apache log4j 1.2 - Download Apache log4j 1.2https://logging.apa..原创 2021-12-26 14:27:41 · 1744 阅读 · 0 评论 -
java.security.NoSuchProviderException: no such provider: BC
前提:使用了 bcprov-jdk15on-147.jar 和 WAS8.5 (Websphere Application Server)在网上看了一些解决方法原创 2021-08-15 09:58:25 · 5806 阅读 · 0 评论 -
CSRF简单介绍与解决方法
CSRF (Cross-site request forgery) 跨站请求伪造知识点: 目前绝大多数网站采用的还是 session 会话任务的方式。session 机制简单的来说就是服务端使用一个键值对记录登录信息,同时在 cookie 中将 session id(即刚才说的键)存储到 cookie 中。 另外我们又知道浏览器中 HTTP(s) 请求是会自动帮我们把 cookie 带上传给服务端的。这样在每次请求的时候通过 cookie 获取 session...原创 2021-01-24 19:26:51 · 1707 阅读 · 0 评论 -
java中的 SecureRandom 简单用法(生成随机数)
1.生成5位0~9的随机数SecureRandom random = new SecureRandom();String returnValue = "";int randomInt = 0;int range = 9;for(int i=0; i<5; i++ ){ randomInt = random.nextInt(range+1); returnValue = returnValue + randomInt;}System.out.println(retur原创 2021-01-06 21:54:18 · 35715 阅读 · 2 评论 -
java中的LocalDate 和LocalDateTime 基础用法
最近经常会用到时间类去比较或者取值,然后发现Date实在是太难用了,转换来转换去。在网上搜索时发现了两个比较好的时间类,记录一下。先来看看LocaldateLocalDate ldate = LocalDate.now();System.out.println("当前时间=" + ldate);System.out.println("当前日期(数字)=" + ldate.getDayOfMonth());System.out.println("当前日期(英文)=:" + ldate.g.原创 2020-12-07 21:59:27 · 5295 阅读 · 0 评论 -
Java 求两个时间点之间有多少个30分钟
如果传进来的数据类型是Date时,用getTime()相减除于1800000即可。long a = (date2.getTime()-date1.getTime())/(30*60*1000);System.out.println(a);说明:Date.getTime() :返回的是一个long类型的毫秒数(是指1970年01月1日0点零分以来的毫秒数)。1800000 :是指30分钟转换成的毫秒。如果传进来的是字符串类型时,采用以下转换再计算SimpleDateForm.原创 2020-11-25 20:50:59 · 720 阅读 · 0 评论 -
Java 中continue基础用法
首先先看以下代码int count=0;for(int i=0;i<5;i++){ count++;}System.out.println("count="+count);在for循环中加上continue后int count=0;for(int i=0;i<5;i++){ if(i==2) continue; count++;}System.out.println("count="+count);可以看到count变为了4,说原创 2020-11-10 22:38:18 · 14248 阅读 · 2 评论 -
java中的字符串拼接方法速度对比
java中最简单的字符串拼接方式就是 "+" 号,但是其效率在数据量大时效率并不是很友好。数据量大时,Stringbuilder中的append()效率就会凸显出来。[1] 数据量小 两个方法并没有什么区别"+"号拼接:long starttime = System.currentTimeMillis();String result = "";for(int i=0; i<5000;i++){ result+="abcde12345abcde12345ab...原创 2020-09-22 22:29:39 · 818 阅读 · 3 评论 -
从源码的角度分析 Java 中的 Float.isNaN()
Float.isNaN()可以理解为一个判断传入的float类型的值是否是非数字的值(NAN),NAN 是Not a Number的缩写。是数字的话返回flase,不是数字则返回turepublic static void main(String[] args) { boolean a = Float.isNaN(0.75f); boolean b = Float.isNaN(0.0f/0.0f); System.out.println(a);...原创 2020-09-05 21:21:44 · 1223 阅读 · 0 评论 -
java中的Hashtable概念和基础用法
Hashtable[1]参考资料:JDK1.8 api文档、Hashtable源代码、百度百科[2]概念:Hashtable(哈希表) 也可以叫做散列表,是根据关键码值(Key value)而直接进行访问的数据结构,通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。上面这个概念可以通过代码来理解 Hashtable <key , value> 前面是key(代表键),后面是value(代表值)public static void main(Stri...原创 2020-09-06 09:02:19 · 3614 阅读 · 0 评论 -
HashTable中的 [Ljava.util.Hashtable;@xxxxxx
最近在项目中看到了一些值用HashTable来传递/存放数据。Debug时发现有些值是像下面这个图中这样存放的。一开始以为是HashTable中再放了一个HashTable,后来发现并不是,而是放了一个HashTable[]Hashtable arequest=new Hashtable();Hashtable[] btest=new Hashtable[0];arequest.put("name", "zhong");arequest.put("age", "20");arequ原创 2020-08-13 22:06:27 · 288 阅读 · 0 评论 -
java 中的 ==、equals 和 hashcode(更新中)
在java开发中经常会涉及到字符串比较的问题。比较常见就是 == 和 equals这两个方法都可以用来比较字符串,但是 == 要慎重使用,因为两个相同的字符串用 == 来比较也是会出现 false的现象。用代码来验证这个问题。 String a = "abcd"; String b = "ab"; String c = "cd"; String e = b + c; String f = "abcdef"; .原创 2020-05-09 00:03:30 · 224 阅读 · 0 评论 -
com.mysql.jdbc.Connection.isValid(I)Z 解决思路
出现这个问题是因为mysql-connection-java-xxx(版本号)-bin.jar版本过低参考版本:Tomcat9,JDK1.8,Mysql5.6 ,这里选择5.1.39版本(亲测可用)1.在mysql网站中寻找版本稍微高一些的jar包(但不要太高,而且推荐用下载量多一点的版本)https://dev.mysql.com/downloads/connect...原创 2020-04-23 22:33:20 · 2669 阅读 · 0 评论 -
System.out.println 和 out.println 在java和jsp中的区别
首先,在jsp中对比一下两者的区别结果控制台输出:jsp页面输出:结论:在jsp中,System.out.println()的内容是输出在控制台,而out.println()的内容是输出在页面中。再来看看java类中的两者有什么区别。System.out.println("aaaa");out.println("bbbb");可以清晰的看出ou...原创 2020-03-10 22:31:37 · 1547 阅读 · 0 评论 -
java 中的 for(String a:b)
for(String a:b)a是String类型,有的人可能把b也当做是String类型,实际上是String[],也就是字符串数组。运行一段代码即可很好理解String s="AAAA#bbbbb#CCCCC#DDDDD";String[] b=s.split("#");for(String a:b) { System.out.println(a);}运行这段代码得出...原创 2020-03-02 22:50:02 · 9791 阅读 · 0 评论 -
csv文件生成连接后点击不能弹出窗口提示“打开”或“保存”的解决方法
问题:点击csv文件的链接直接在界面上显示出csv文件中的数据,没有弹出窗口提示“打开”或“保存”csv文件。原因是Tomcat下的配置文件中没有csv的配置。只要加上即可。1.找到Tomcat目录下的conf/web.xml配置文件2.加上以下代码,即可。 <mime-mapping> <extension>csv&l...原创 2020-01-02 22:04:32 · 1098 阅读 · 0 评论 -
java中的插入排序法
插入排序法(顾名思义,拿出数组中的一个元素跟其他元素比较,进行插入)将数组中的第二个元素取出来跟前面的元素比较,如果前面的元素比较大就将两者交换(第一个元素不用比较,再前面没有元素)。第三个元素就跟第二第一的元素比较。以此类推。实现代码import java.util.*;public class InsertionSort {public static void main(...原创 2018-07-10 21:48:24 · 1544 阅读 · 0 评论 -
java中的replace()函数用法
replace() 起到了一个字符串替换的作用(修改对象中的元素) 实现代码 String a = "hello wrold"; String b = "a"; a = a.replace("hello",b); System.out.println(a);输出结果: a wroldhello被替换成了a...原创 2018-07-23 10:49:04 · 24206 阅读 · 0 评论 -
java的冒泡排序法
冒泡排序法(前小后大)(泡越后越大,就是数字越大放越后面)实现代码import java.util.*;public class BubbleSort {public static void main(String[] args) {int[] arry={80,50,60,45,75,65}; //定义一个6个元素的数值int i,j,temp;fo...原创 2018-07-06 22:28:21 · 253 阅读 · 0 评论 -
math.pow()函数用法
Math.pow(底数,几次方)如:int a=3; int b=3;int c=Math.pow(a,b); 就是3的三次方是多少; c最终为27; 基础用法:用math.pow()实现数组的交错求和int ant=0;a+=b[i]*math.pow(-1,ant); //实...原创 2018-07-15 23:22:56 · 250396 阅读 · 13 评论 -
java中的substring()方法基础应用
作用:字符串截取功能substring()方法有两种不同的传值方式第一种:str.substring(beginIndex) beginIndex代表从第几位字符开始截取字符串第二种:str.substring(beginIndex, endIndex) beginIndex代表从第几位字符开始截取字符串...原创 2019-07-31 22:51:46 · 2284 阅读 · 0 评论 -
java中的split()函数用法(包括split()[ ])
我们先看下面这段代码,通过代码来解释会更加通俗易懂String a="abcdefghij";String[] b=a.split("f");System.out.println(b[0]+" "+b[1]);运行结果通过上面这段代码和运行结果就能很容易看出来split的作用:分隔字符串 可能有人会问为什么上面代码的第2行需要用String[] 字符数组这种数...原创 2019-08-13 22:58:00 · 2759 阅读 · 0 评论 -
java中的Date的一些基础用法
java中的Date1.通过Date date =new Date()得到的数据格式Date date = new Date(); System.out.println(date);System.out.println(date.getTime()); //时间戳第一行的数据格式大家估计都明白,第二行这一串数字其实是时间戳。可以百度时间戳转换(有一些在线转换工具),把...原创 2019-10-07 11:10:21 · 534 阅读 · 0 评论 -
java的选择排序法
选择排序法(遍历数组,找到一个最小值放在最前面,重复操作,达成从小到大的效果)实现代码import java.util.*;public class SelectionSort { public static void main(String[] args) { int[] arry={40,35,65,45,80,75}; int minIndex,temp; for(int ...原创 2018-07-09 18:18:42 · 251 阅读 · 0 评论