202009-25 Java内存溢出案例模拟和原理分析过程 在JVM虚拟机规范中,Java虚拟机运行时数据区域除了程序计数器(ProgramCounterRegister)外都有可能出现OutOfMemoryError的情况,使用Hotspot虚拟机简单的模拟堆栈内存溢出的场景,方便快速定位是什么区域的内存溢出。堆通过VM参数设置Java堆的大小,避免堆可扩展内存(设定-Xms和Xmx一样可避免堆自动扩展);通过设定-XX:+HeapDumpOnOutOf-MemoryError可以让虚拟机在出现内存溢出异常的时候Dump出当前的内存堆转储快照。/***... 继续阅读 >
202009-25 Java爬取豆瓣电影数据的方法详解 本文实例讲述了Java爬取豆瓣电影数据的方法。分享给大家供大家参考,具体如下:所用到的技术有Jsoup,HttpClient。Jsoupjsoup是一款Java的HTML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据。HttpClientHTTP协议可能是现在Internet上使用得最多、最重要的协议了,越来越多的Java应用程序需要直接通过HTTP协议来访问网络资源。虽然... 继续阅读 >
202009-25 Java多线程通信wait()和notify()代码实例 1.wait()方法和sleep()方法:wait()方法在等待中释放锁;sleep()在等待的时候不会释放锁,抱着锁睡眠。2.notify():随机唤醒一个线程,将等待队列中的一个等待线程从等待队列中移到同步队列中。代码如下publicclassDemo_Print{publicstaticvoidmain(String[]args){Printp=newPrint();newThread(){publicvoidrun(){while(true){p.print1();}};}.start();... 继续阅读 >
202009-25 JAVA使用SimpleDateFormat类表示时间代码实例 在程序开发中,经常需要处理日期和时间的相关数据,此时我们可以使用java.util包中的Date类。这个类最主要的作用就是获取当前时间,我们来看下Date类的使用:使用Date类的默认无参构造方法创建出的对象就代表当前时间,我们可以直接输出Date对象显示当前的时间,显示的结果如下:其中,Wed代表Wednesday(星期三),Jun代表June(六月),11代表11号,CST代表ChinaStandardTime(中国标准时间,也就是北京... 继续阅读 >
202009-25 JAVA Calendar类使用方面实例 Date类最主要的作用就是获得当前时间,同时这个类里面也具有设置时间以及一些其他的功能,但是由于本身设计的问题,这些方法却遭到众多批评,不建议使用,更推荐使用Calendar类进行时间和日期的处理。java.util.Calendar类是一个抽象类,可以通过调用getInstance()静态方法获取一个Calendar对象,此对象已由当前日期时间初始化,即默认代表当前时间,如Calendarc=Calendar.getInstance();那么如何使用Calendar获取年、... 继续阅读 >
202009-25 JAVA如何使用Math类操作数据 Math类位于java.lang包中,包含用于执行基本数学运算的方法,Math类的所有方法都是静态方法,所以使用该类中的方法时,可以直接使用类名.方法名,如:Math.round();常用的方法:通过案例我们来认识一下他们的使用吧!!运行结果:PS:Math类还提供了许多其他方法,各位小伙伴们可以注意关注wiki,查阅更多信息示例:定义一个包含10个元素的整型数组,通过随机产生10以内的随机数,给数组中的每个元素赋值,并输出结... 继续阅读 >
202009-25 JAVA集合框架Map特性及实例解析 一Map特性:1Map提供一种映射关系,其中的元素是以键值对(key-value)的形式存储的,能够实现根据key快速查找value;2Map中键值对以Entry类型的对象实例形式存在;3键,即key不可重复,但是value值可以;4每个键最多只能映射一个值;5Map接口提供了分别返回key值集合、value值集合以及Entry(键值对)集合的方法;6Map支持泛型,形式如:Map<K,V>二HashMap类:1HashMap是Map的一个重... 继续阅读 >
202009-25 Java接口测试Cookie与token原理解析 一、Cookie与token机制测试Cookie与Sessiontoken机制cookie/session机制需要在服务端保存大量的session信息,造成严重负担,而token机制则避免记录大量信息,采用服务器签发的token完成验证。1、客户端使用用户名跟密码请求登录2、服务端收到请求,去验证用户名与密码3、验证成功后,服务端会签发一个Token,再把这个Token发送给客户端4、客户端收到Token以后可以把它存储起来,比如放在Cookie里或者LocalStorage里5、客... 继续阅读 >
202009-25 Java跨session实现token接口测试过程图解 这套框架的报告是自己封装的一般token会在登录接口返回结果中呈现,从代码层面获取token的方式有很多种,我是使用jsonpath这个json路径语言去匹配token所在路径的key值没有使用testng.xml的情况下调试testCase,需要设置一下dependsOnMethods,否则token将无法传递给其他test步骤附上TestUtil.getToken()方法://获取返回的token,使用JsonPath获取json路径publicstaticHashMap<String,String>getToken(CloseableHttpResponse... 继续阅读 >
202009-25 Java实现单例设计模式方法解析 单例模式的几种实现方式:一:饿汉式单例方式一:枚举方式获得单例对象方式二:静态属性获得单例对象方式三:静态方法获得单例对象二:懒汉式单例方式一:静态方法获得单例对象(线程安全)方式二:内部类方式去获取单例对象示例:恶汉式:方式一enumSingleton{INSTANCE;//单例}恶汉式:方式二classSingleton{publicstaticfinalSingletonINSTANCE=newSingleton();//单例privateSingleton(){}}恶汉式:方式三c... 继续阅读 >
202009-25 Java拷贝文件夹和删除文件夹代码实例 1.文件夹的拷贝publicvoidcopy(Filesrc,Filedest)throwsIOException{if(dest.isFile()){thrownewRuntimeException(dest+"不是文件夹");}Filefile=newFile(dest.getPath()+"/"+src.getName());if(src.isFile()){FileInputStreamfis=newFileInputStream(src);BufferedInputStreambis=newBufferedInputStream(fis);FileOutputStreamfos=newFile... 继续阅读 >
202009-25 Java map集合顺序如何同步添加顺序 一般使用map用的最多的就是hashmap,但是hashmap里面的元素是不按添加顺序的,那么除了使用hashmap外,还有什么map接口的实现类可以用呢?这里有2个,treeMap和linkedHashMap,但是,要达到我们的要求:按添加顺序保存元素的,就只有LinkedHashMap。下面看运行的代码。packagecom.lxk.collectionTest;importcom.google.common.collect.Maps;importjava.util.Map;/***测试Map是否有序的区别*<p>*Createdbylxko... 继续阅读 >
202009-25 Java 添加、读取和删除 Excel 批注的操作代码 批注是一种富文本注释,常用于为指定的Excel单元格添加提示或附加信息。FreeSpire.XLSforJava为开发人员免费提供了在Java应用程序中对Excel文件添加和操作批注的功能。本文将介绍如何使用FreeSpire.XLSforJava在Excel文档中添加,读取和删除批注。安装首先你需要下载Spire.XLSJAR并将其作为依赖项添加到您的Java程序中。如果您使用的是maven,您需要将以下依赖项添加到您的pom.xml文件中。<repositories><repository... 继续阅读 >
202009-25 Java对象布局(JOL)实现过程解析 java对象布局JOL(javaobjectlayout),描述对象在堆内存的布局。如下图:1.markword固定长度8byte,描述对象的identityhashcode,分代年龄,锁信息等(https://www.jb51.net/article/183984.htm);2.klasspoint固定长度4byte,指定该对象的class类对象;3.基本变量:用于存放java八种基本类型成员变量,以4byte步长进行补齐,使用内存重排序优化空间;4.引用变量:存放类的引用变量句柄,如String,Object;每个句柄大小在32位... 继续阅读 >
202009-25 Java synchronized锁升级jol过程详解 jol(javaobjectlayout)需要的依赖<dependency><groupId>org.openjdk.jol</groupId><artifactId>jol-core</artifactId><version>0.10</version></dependency>一。synchronized锁对象的升级(膨胀)过程主要如下:1.膨胀过程:无锁(锁对象初始化时)->偏向锁(有线程请求锁)->轻量级锁(多线程轻度竞争)->重量级锁(线程过多或长耗时操作,线程自旋过度消耗cpu);2.jvm默认延时4s自动开启偏向锁(... 继续阅读 >
202009-25 用GUI实现java版贪吃蛇小游戏 本文实例为大家分享了java版贪吃蛇小游戏的具体代码,供大家参考,具体内容如下项目结构新建一个JFrame窗口,作为程序入口publicclassGameStart{publicstaticvoidmain(String[]args){JFramejFrame=newJFrame();jFrame.setBounds(100,100,900,720);jFrame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);jFrame.setResizable(false);jFrame.add(newGameJPanel());jFrame.setVisible(true);}}创... 继续阅读 >