202009-29 Java过滤器模式原理及用法实例 过滤器模式(FilterPattern)或标准模式(CriteriaPattern)是一种设计模式,这种模式允许开发人员使用不同的标准来过滤一组对象,通过逻辑运算以解耦的方式把它们连接起来。这种类型的设计模式属于结构型模式,它结合多个标准来获得单一标准。实现我们将创建一个Person对象、Criteria接口和实现了该接口的实体类,来过滤Person对象的列表。CriteriaPatternDemo,我们的演示类使用Criteria对象,基于各种标准和它们的结合... 继续阅读 >
202009-29 java中ssj框架的项目搭建流程 1.新建一个maven项目2.在pom.xml中,配置所需的jar包及其版本号<!--设置自定义属性和值--><properties><spring.version>4.1.7.RELEASE</spring.version><hibernate.version>4.3.11.Final</hibernate.version></properties><dependencies><!--spring配置--><dependency><groupId>org.springframework</groupId><artifactId>spring-core</artifactId><version>${spring.version}</version></dependency>... 继续阅读 >
202009-29 Java判断线程池线程是否执行完毕 在使用多线程的时候有时候我们会使用java.util.concurrent.Executors的线程池,当多个线程异步执行的时候,我们往往不好判断是否线程池中所有的子线程都已经执行完毕,但有时候这种判断却很有用,例如我有个方法的功能是往一个文件异步地写入内容,我需要在所有的子线程写入完毕后在文件末尾写“---END---”及关闭文件流等,这个时候我就需要某个标志位可以告诉我是否线程池中所有的子线程都已经执行完毕,我使用这种方式来判断。... 继续阅读 >
202009-29 Java桥接模式原理及用法解析 桥接(Bridge)是用于把抽象化与实现化解耦,使得二者可以独立变化。这种类型的设计模式属于结构型模式,它通过提供抽象化和实现化之间的桥接结构,来实现二者的解耦。这种模式涉及到一个作为桥接的接口,使得实体类的功能独立于接口实现类。这两种类型的类可被结构化改变而互不影响。我们通过下面的实例来演示桥接模式(BridgePattern)的用法。其中,可以使用相同的抽象类方法但是不同的桥接实现类,来画出不同颜色的圆。介绍意... 继续阅读 >
202009-29 Java Jmeter全局变量设置过程图解 背景:因为BeanShellPreProcessor制造的参数是一些随机参数,每个HTTP取样器包括其他取样器拿值得时候都是单独重新取一次,所以如果当几个取样器的值都要拿同一值时,就不满足需求了,我们就需要,所以我们就需要设置全局变量了,满足在一次线程中,只取一次供全局使用。一、设置参数codenum参数二、将codenum参数设置为全局变量2、打开函数助手,找到_setProperty函数,填写要设置的全局变量名称和要将哪个变量设置为全局变量3... 继续阅读 >
202009-29 JAVA参数传递方式实例浅析【按值传递与引用传递区别】 本文实例讲述了JAVA参数传递方式。分享给大家供大家参考,具体如下:首先要明确的是JAVA中没有引用传递,全部是按值调用令大家所费解的当对象引用作为参数时 函数为什么能修改真实的对象呢?这不是引用传递的特征吗?尤其先学习C++再学习JAVA的同学(比如说我自己)会这样认为,用白话解释就是:引用传递指针时,连函数操作的指针都是原来的指针,比如C++传入对象时直接用传入的指针操作而JAVA的引用传进函数时,会复制一... 继续阅读 >
202009-29 关于Java中的mysql时区问题详解 前言话说工作十多年,mysql还真没用几年。起初是外企银行,无法直接接触到DB;后来一直从事架构方面,也多是解决问题为主。这次搭建海外机房,围绕时区大家做了一番讨论。不说最终的结果是什么,期间有同事认为DB返回的是UTC时间。这里简单做个验证,顺便看下时区的问题到底是如何处理。环境openjdkversion“1.8.0_242”mysql-connector-java“8.0.20”mysql“5.7”时区TZ=Europe/London本地时区GMT+8创建个简单的库t... 继续阅读 >
202009-29 Java实现储存对象并按对象某属性排序的几种方法示例 本文实例讲述了Java实现储存对象并按对象某属性排序的几种方法。分享给大家供大家参考,具体如下:在编程的时候,经常会出现对某一种类的对象们按照某属性进行自定义的排序,比如:学生对象按照age大小排序。有一种方法就是把age单独提出来排好序,然后按照ages数组的顺序把students重存一次。但是这样太繁琐了,有没有更好的方法呢?有滴~第一种,可以实现边添加边排序,需要用到TreeSet。第二种,用数组存放对象们,但是不需单独... 继续阅读 >
202009-29 Java实现对象按照其属性排序的两种方法示例 本文实例讲述了Java实现对象按照其属性排序的两种方法。分享给大家供大家参考,具体如下:有时候需要对对象列表或数组进行排序,下面提供两种简单方式:方法一:将要排序的对象类实现Comparable<>接口。首先,创建学生类,我们将根据学生成绩对学生进行排序:/***学生类*/classStudentimplementsComparable<Student>{Stringname;intage;intscore;publicStudent(Stringname,intage,intscore){this.name=... 继续阅读 >
202009-29 Java使用dom4j实现对xml简单的增删改查操作示例 本文实例讲述了Java使用dom4j实现对xml简单的增删改查操作。分享给大家供大家参考,具体如下:xml留了个结课作业:后台用xml文件作为存储做个迷你系统实现增删改查的功能,在此记录一下先得引入dom4j的jar包放在项目的WEB-INF-->lib目录下先新建一个读取器, 读取你想操作的xml文件(我这里写的绝对路径)//读取XML文件,获得document对象SAXReaderreader=newSAXReader();Documentdocument=null;try{document=reader... 继续阅读 >
202009-29 Java IO字符流缓冲区实现原理解析 字符流的缓冲区缓冲区的出现,提高了对数据的读写效率,对应的类:BufferedWriter,BufferedReader缓冲区要结合流才可以使用,缓冲区是在流的基础上对流的功能进行增强BufferedWriter将文本写入到字符输出流中,缓冲字符,以便提供对单个字符、数组和字符串的有效写入。可以指定缓冲区大小,也可以接受默认大小。默认是足够大的用于大多数目的。提供了一种newline()方法,利用平台自身观念的行分隔符由系统性line.separator定义。并... 继续阅读 >
202009-29 JAVA 多态操作----父类与子类转换问题实例分析 本文实例讲述了JAVA多态操作----父类与子类转换问题。分享给大家供大家参考,具体如下:JAVA语言中,对象变量是多态的每个子类对象都算是父类对象(子类对象可以当作父类变量所引用)那反过来可不可以呢?答案是取决于父类变量引用的是谁如果父类变量引用的是子类对象的实例,可以通过强转被子类变量引用如果父类变量引用的是父类对象的实例,则不能被为子类变量引用上代码举例子(本篇一直用这两个类举例子,main测试不同):一个Fat... 继续阅读 >
202009-29 Java基本数据类型包装类原理解析 数据类型包装类Java语言是一个面向对象的语言,但是Java中的基本数据类型却是不面向对象的,这在实际使用时存在很多的不便,为了解决这个不足,在设计类时为每个基本数据类型设计了一个对应的类进行代表,这样八个和基本数据类型对应的类统称为包装类(WrapperClass),有些地方也翻译为外覆类或数据类型类。包装类均位于java.lang包,包装类和基本数据类型的对应关系如下表所示:包装类的用途对于包装类说,这些类的用途主要包含两... 继续阅读 >
202009-29 Java飞行记录器JFR功能实现过程图解 JFR如果要深入分析问题,可以选择使用内置的Java飞行记录器:JavaMissionControl。转储JFR需要三步:1.创建一个包含了你自己配置的JFR模板文件。运行jmc,然后Window->FlightRecordingTemplateManage菜单。准备好档案后,就可以导出文件,并移动到要排查问题的环境中。2.由于JFR需要JDK的商业证书,这一步需要解锁jdk的商业特性。C:\Users\lenovo>jcmd8152VM.unlock_commercial_features3.最后你就可以启动JFR。jcmd<PID... 继续阅读 >
202009-29 详解java CountDownLatch和CyclicBarrier在内部实现和场景上的区别 前言CountDownLatch和CyclicBarrier两个同为java并发编程的重要工具类,它们在诸多多线程并发或并行场景中得到了广泛的应用。但两者就其内部实现和使用场景而言是各有所侧重的。内部实现差异前者更多依赖经典的AQS机制和CAS机制来控制器内部状态的更迭和计数器本身的变化,而后者更多依靠可重入Lock等机制来控制其内部并发安全性和一致性。publicclass{//SynchronizationcontrolForCountDownLatch.//UsesAQSstateto... 继续阅读 >
202009-29 Java配置win10环境变量过程图解 在配置环境之前,你应该已经有下载好的JavaJDK了(如果没有安装JDK,请跳转到此网址:https://www.oracle.com/java/technologies/javase-jdk14-downloads.html)我安装的是jdk1.8(64位)java环境变量的配置win10:1.选择“计算机”右单击弹出快捷菜单选择单击“属性”2.单击选择“高级系统设置”3.弹出“系统属性”——选择单击“环境变量”4.环境变量分为用户和系统变量,在此我们选择系统变量。操作如下:变量:JAVA_HOME值... 继续阅读 >