202010-10 Java Web制作登录验证码实现代码解析 图例如下具体操作如下:新建一个servlet,代码如下:标记一个WebServlet,1@WebServlet(urlPatterns={"/checkCode"})//验证码Servlet绘制验证码图片的核心代码:intwidth=100;intheight=50;//创建图片对象BufferedImageimage=newBufferedImage(width,height,BufferedImage.TYPE_INT_RGB);//美化图片Graphicsg=image.getGraphics();//1:填充背景g.setColor(Color.pink);g.fillR... 继续阅读 >
202010-10 在C#和Java语言中for和foreach的区别详解 for循环和foreach循环的区别首先在这里声明一点,C#和Java这两种语言很相似,尤其是初学的数据类型那一部分,所以这里写的for和foreach的区别在C#和Java中都适用。我会在下面分别列出两种语言的for和foreach分别循环打印一个数组,大家可以看看区别话不多说,直接上代码://c#//先创建一个数组int[]arr=newint[3]{99,11,22};//利用for循环打印(可以创建一个变量i;判断这个i是否小于数组的长度;每次循环i自增1)//... 继续阅读 >
202010-10 JAVA使用quartz添加定时任务,并依赖注入对象操作 最近在写定时任务,以前没接触过。查了些相关资料说使用quartz定时框架。需要配置文件:config-quartz.xml相关配置如下(红色部分是之后添加的,在后面步骤会说明):<?xmlversion="1.0"encoding="UTF-8"?><beansxmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context="http://www.springframework.org/schema/context"xsi:schemaLocation="ht... 继续阅读 >
202010-10 idea插件篇之java内存分析工具(JProfiler)的使用 前言在运行java的时候有时候想测试云运行时占用内存情况,这时候就需要使用测试工具查看了。在eclipse里面有 EclipseMemoryAnalyzertool(MAT)插件可以测试,而在idea中也有这么一个插件,就是JProfilerl。下载安装打开idea,进入设置界面安装之后重启即可。安装成功后查看情况。这是什么情况呢,这是这个插件启动需要依赖一个可执行的文件,就是源生的JAVAPROFILER去官网下载 https://www.ej-technologies.com/pr... 继续阅读 >
202010-10 java 较大数据量取差集,list.removeAll性能优化详解 今天在优化项目中的考勤同步功能时遇到将考勤机中的数据同步到数据库,两边都是几万条数据的样子,老代码的做法差不多半个小时,优化后我本机差不多40秒,服务器速度会更加理想。两个数据集取差集首先想到的方法便是List.removeAll方法,但是实验发现jdk自带的List.removeAll效率很低List.removeAll效率低原因:List.removeAll效率低和list集合本身的特点有关:List底层数据结构是数组,查询快,增删慢1.List.contains()效率没有has... 继续阅读 >
202010-10 Java 获取两个List的交集和差集,以及应用场景操作 背景介绍在实际项目中,特别是一些管理后台类的项目,会遇到底层数据是按照一对多关系的数据表存储的管理界面。列表页是一对多关系中一对应的数据列表,二级的详情页中是一对多关系中多对应的多条数据展示。通常二级页面是能够增、删、改数据的编辑页面,在点击保存提交数据后,服务器端需要插入新增的数据,删除要删除的数据,更新改变的数据。例如,在汽车电商领域,如果要实现一辆车型在不同省份有不同的价格行情,就需要有一个... 继续阅读 >
202010-10 Java 导出excel进行换行的案例 如下所示:String.valueOf((char)10)在导出excel的时候,如果原始文字中含有\n字符,如果把\n替换为<br/>,excel不会识别成换行符excel认可char(10)作为换行符:scanSendCoupeMg.getRuleDesc().replace("\n",String.valueOf((char)10));scanSendCoupeMg.getRuleDesc().replace("<br/>",String.valueOf((char)10));补充知识:Java之POI生成Excel强制换行JAVA通过poi来操作Excel进行换行操作,通过设定CellStyle样式中的set... 继续阅读 >
202010-10 Java实现将容器 Map中的内容保存到数组 我就废话不多说了,大家还是直接看代码吧~importjava.util.Map;importjava.util.HashMap;importjava.util.Map.Entry;publicclassmapToArr{publicstaticvoidmain(String[]args){Map<String,Integer>map=newHashMap<String,Integer>();map.put("a",11);map.put("b",23);map.put("c",68);System.out.println("map="+map.toString());intcount=0;IntegerintArr[]=newIntege... 继续阅读 >
202010-10 Java中Map的entrySet()使用说明 由于Map中存放的元素均为键值对,故每一个键值对必然存在一个映射关系。Map中采用Entry内部类来表示一个映射项,映射项包含Key和ValueMap.Entry里面包含getKey()和getValue()方法Set<Entry<T,V>>entrySet()该方法返回值就是这个map中各个键值对映射关系的集合。可使用它对map进行遍历。Iterator<Map.Entry<Integer,Integer>>it=map.entrySet().iterator();while(it.hasNext()){Map.Entry<Integer,Integer>entry=it.next();... 继续阅读 >
202010-10 Java中Map集合中的Entry对象用法 Entry:键值对对象。在Map类设计是,提供了一个嵌套接口(static修饰的接口):Entry。Entry将键值对的对应关系封装成了对象,即键值对对象,这样我们在遍历Map集合时,就可以从每一个键值对(Entry)对象中获取对应的键与对应的值。Entry为什么是静态的?Entry是Map接口中提供的一个静态内部嵌套接口,修饰为静态可以通过类名调用。Map集合遍历键值对的方式:Set<Map.Entry<K,V>>entrySet();//返回此映射中包含的映射关系的Set... 继续阅读 >
202010-10 浅谈Java中的集合存储数据后,输出数据的有序和无序问题 HashSet,TreeSet,无序是指存储数据的顺序和取出数据的顺序不一致;但是TreeSet是按照指定的顺序排个序出来;如果,我们想按照数据输入的顺序依次输出数据(即,如果依次输入4、1、7、3,输出时依次是4、1、7、3),此时需要用LinkedHashMap,LinkedHashSetpackageDemo;importjava.util.*;importjava.util.Map.*;publicclassDemoMap{publicstaticvoidmain(String[]args){text3();System.out.println("=======... 继续阅读 >
202010-10 基于Java将Excel科学计数法解析成数字 需要注意的是一般的科学表达式是1.8E121.8E-12而在Excel中的科学表达式是1.8E+121.8E-12我写的科学计数法的正则表达式是(-?\d+\.?\d*)[Ee]{1}[\+-]?[0-9]*导入EXCEL数据时将科学计数法解析成数字,Java代码:importjava.text.DecimalFormat;importjava.util.regex.Pattern;publicclassTest{staticPatternpattern=Pattern.compile("(-?\\d+\\.?\\d*)[Ee]{1}[\\+-]?[0-9]*");staticDecimalF... 继续阅读 >
202010-10 java eclipse 整个项目或包查找只定字符串并替换操作 javaeclipse经常会用到整个类进行查找,ctrl+f,然后replaceall(XX,toXX)。但是最近要对webservice上的项目进行检查,里面的运行程序不能有system.out.println这样的语句,因为服务器上的控制台输出会存储到一个指定路径的文件里,超过9gtomcat就会运行变慢,甚至挂掉。所以这里要用,ctrl+h,开启全项目或者全包搜索,用法如下:1.选中项目名称或者包名称位置,ctrl+h2弹出的界面中选取,fileSearch,在其中输入要查找的... 继续阅读 >
202010-10 java实现抢红包算法(公平版和手速版) 当我们在群里抢红包时真的是手速越快红包金额越大吗?答案当然是并不是,都说了是拼手气,岂能是拼手速!不过也可以有拼手速的方法抢红包二倍均值法(公平版)线段切割法(手速版)二倍均值法(公平版)这是一种很合理很公平的抢红包算法了,绝对不会让你拼手速的,就别天真了。在此我们假设红包剩余金额为M红包剩余数量为N这种算法就是每次都在区间[0,M/N×2]随机取一个数假设100元红包发10个人,那么合理的做法应该是每... 继续阅读 >
202010-10 java Unicode和UTF-8之间转换实例 utf-8转unicodepublicstaticStringutf8ToUnicode(StringinStr){char[]myBuffer=inStr.toCharArray();StringBuffersb=newStringBuffer();for(inti=0;i<inStr.length();i++){UnicodeBlockub=UnicodeBlock.of(myBuffer[i]);if(ub==UnicodeBlock.BASIC_LATIN){//英文及数字等sb.append(myBuffer[i]);}elseif(ub==UnicodeBlock.HALFWIDTH_AND_FULLWIDTH_... 继续阅读 >
202010-10 Java Socket实现猜数字小游戏 本文实例为大家分享了JavaSocket实现猜数字游戏的具体代码,供大家参考,具体内容如下运行截图ServerClient完整代码Serverimportjava.io.IOException;importjava.io.PrintWriter;importjava.net.ServerSocket;importjava.net.Socket;importjava.util.Random;importjava.util.Scanner;publicclassServerDemo{privateintflag;publicvoidserver()throwsIOException{//创建一个服务器System.out.println("服务... 继续阅读 >