
java
ConfidentWU
这个作者很懒,什么都没留下…
展开
-
封装类、写成工具类、公共类、父类与子类、接口与接口实现类写法核心思想
封装类,写成工具类、公共类、父类与子类、接口与接口实现类写法核心思想一、写这些类的时候核心的思想就是“求同存异”;求同就是把相同的东西写成封装类、工具类、公共类、父类、接口;存异就是把不相同的东西放在子类实现,接口实现类实现。二、总的核心就是先找出不相同的东西放在子类、接口类实现,后面相同的东西放在封装类、工具类、公共类、父类、接口实现...原创 2022-03-15 10:52:27 · 291 阅读 · 0 评论 -
log4j 8个级别
log4j 8个级别log4j定义了8个级别的log(除去off金额all,可以说分为6个级别),优先级别从高到低依次为:OFF,FATAL,ERROR,WARN,INTFO,DEBUG,TRACE,ALLALL 最低等级的,用于打开所有日志记录TRACE 很低的日志级别 一般不会使用DEBUG指出细粒度信息事件对调试应用程序是非常有帮助的,主要用于开发过程中打印一些运行信息INFO 消息在粗粒度级别上突出强调应用程序的运行过程,打印一些你感兴趣的或者主要的信息,这个可以用于生产...原创 2022-01-24 15:48:43 · 647 阅读 · 0 评论 -
CountDownLatch多线线程使用,决定多线程执行顺序
CountDownLatch概念CountDownLatch可以线程之间的通信(而不是用作互斥的作用)通俗点就是决定线程执行顺序。CountDownLatch的用法CountDownLatch,计数器初始化的数量n,当每一个线程完成自己任务后,计数器的值就会减1。当计数器的值为0时,调用减数为n次,表示所有的线程都已经完成一些任务,,单然后在.await()上等待的线程就可以恢复执行接下来的任务。CountDownLatch典型用法:1、某一线程在开始运行前等待n个线程执行完毕。将原创 2022-01-19 17:23:14 · 750 阅读 · 0 评论 -
单库JDBC和跨库JTA事务的区别
一、事务的特性(ACID)1、原子性:同一个事务的操作要么全部成功执行,要么全部撤消2、隔离性:事务的所有操作不会被其它事务干扰3、一致性:在操作过程中不会破坏数据的完整性4、时效性 :事务的结果必须持久保存于介质上二、单库JDBC和跨库JTA事务区别jta可以是多库的事务 jdbc是单库的事务1、jdbc事务JDBC事务由Connnection对象控制管理,也就是说,事务管理实际上是在JDBC Connection中实现。事务周期限于Connection的生命周期。JDBC Con.原创 2021-02-05 10:24:58 · 294 阅读 · 0 评论 -
<T>和<?>的区别
<T>和<?>的区别 <T>是参数类型,常常用于泛型类或泛型方法的定义; <?>是通配符,一般不能直接用来定义类或泛型方法,因为它不能直接参与操作, 常常用于泛型方法的调用代码或泛型方法的型参。...原创 2020-12-28 16:02:26 · 4120 阅读 · 0 评论 -
@PostConstruct方法的使用以及原理
往往我们在项目启动时需要加载某个方法的时候,可以使用@Component+@PostConstruct方法将一个方法完成初始化操作,@PostConstruct注解的方法会将在依赖注入完成之后被自动调用。该注解在整个Bean初始化中执行的顺序:@Constructor(构造方法)->@Autowired(依赖注入)->@PostConstruct(注解的方法) @PostConstruct public void init() {//可以使用业务逻辑 }...原创 2020-12-28 12:46:27 · 1185 阅读 · 0 评论 -
使用ThreadPoolTaskExecutor解决高并发性的问题
ThreadPoolTaskExecutor使用ThreadPoolTaskExecutor解决高并发性的问题1、创建一个ThreadPoolTaskExecutor2、往线程里面添加FutureTask对象,3、然后等待FutureTask对象返回结果,根据结果进行显示处理的失败与成功...原创 2020-11-04 11:04:05 · 1781 阅读 · 1 评论 -
线程类所ReentrantLock
一、没有加类所ReentrantLock代码:package com.newsoft.test.thread;import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock;public class Test { //public static Lock lock = new ReentrantLock(); public static void main(Stri原创 2020-11-03 17:30:17 · 128 阅读 · 0 评论 -
高质量代码规范
一、命名小驼峰命名规则,方法名称尽量是一个描述方法的简短的名称。变量名称也是一个描述变量的简短名称。二、格式四个空格缩进三、review这个要相对监督,相互进步四、代码块划分尽量写成一个方法,一个方法里面的代码段不要超过30行。尽量写一个通用的方法。五、代码逻辑老生常谈,尽量使用switch,不要使用else if,就算使用到else if也要把符合条件频率比较...原创 2020-02-18 15:03:25 · 217 阅读 · 0 评论 -
Spring boot 配置的注解之@Component ,@Configuration与@Bean,以及它们和传统xml的注入bean的区别
Spring boot 配置的注解之@Component ,@Configuration与@Bean,以及它们和传统xml的注入bean的区别目录1.传统xml文件的注入bean2.Spring boot 配置的注解之@Component3.Spring boot 配置的注解之@Configuration与@Bean4.Spring boot 配置的注解与xml的注入bean的...原创 2019-12-26 16:26:57 · 1305 阅读 · 0 评论 -
java版本发布的发展历程
java版本发布的发展历程目录JDK1.5的添加的属性JDK6JDK 7JDK 8JDK1.5的添加的属性JDK1.5为每一个基本数据类型定义了一个封装类。使java中的基本数据类型也有自己的对象int --> Integerdouble -->Doublelong -->Longchar --> Characterfloat...原创 2019-11-04 11:19:20 · 526 阅读 · 0 评论 -
quartz定时器框架
quartz定时器一、quartz定时器是什么,quartz是一个功能丰富,开源的任务调度的定时器的框架;可以兼容从最小的标准的java程序到最最大的电子商务系统的框架。quartz可以创建几十,几百,甚至成千上万的工作任务事件表;这些任务可以是一个标准的java组件,可以执行几乎你所有的计划去做的事情。二、quartz定时器应用场景quartz是一个定时任务调度的的框架,比如你在...原创 2018-04-25 16:11:31 · 2081 阅读 · 0 评论 -
java文件的创建
public void createFile(){ //path表示你所创建文件的路径 String path = "d:/tr/rt"; File f = new File(path); if(!f.exists()){ f.mkdirs(); } // fileName表示你创建的文件名;为txt类型; String fileName="test....翻译 2016-11-04 09:52:30 · 471 阅读 · 0 评论 -
父类的方法调用子类的其他的方法--工厂模式
父类的方法调用子类的其他的方法--工厂模式 父类的方法调用子类的其他的方法,也可以接口的方法调用子类的方法,也是虚拟父类调用子类的其他方法。工厂模式也是基于这个原理实现的。一个短信发送信息的例子:使用了工厂模式来实现虚拟发送短信的父类SmsCoreSmsCore: public class SmsFractory { public static SmsCor...原创 2018-07-06 11:32:24 · 985 阅读 · 0 评论 -
java 枚举的定义与用法
java 枚举的定义与用法目录java 枚举的定义与用法一、枚举的定义:二、枚举的使用:三、枚举优缺点:四、使用这个常量的方法的缺点:一、枚举的定义: 枚举是一种特殊的数据类型,之所以特殊是因为它既是一种类(class)类型却又比类型多了些特殊的约束,但是这些约束的存在也造就了枚举类型的简洁,安全性以及便捷性。创建枚举类型要使用enum关键字,隐含了所创...原创 2018-07-09 15:57:40 · 61348 阅读 · 0 评论 -
java多线程等待,唤醒,以及线程同步,使用synchronized关键字实现。
java多线程等待,唤醒,以及线程同步。 在Object.java中,定义了wait(), notify()和notifyAll()等接口。wait()的作用是让当前线程进入等待状态,同时,wait()也会让当前线程释放它所持有的锁。而notify()和notifyAll()的作用,则是唤醒当前对象上的等待线程;notify()是唤醒单个线程,而notifyAll()是唤醒所有的线程。结合同步...原创 2018-06-27 15:52:12 · 1683 阅读 · 0 评论 -
java 方法中的参数是值传递
java 方法中的参数是值传递:java 方法中的参数是值传递的,也就是传递一个对象副本的,而不是传递引用。修改方法中的参数对传入本来的值是没有影响的。例子:public class testMain { //one为方法的参数 private static void change(int one){ one +=10; System.out.println("the ...原创 2018-06-27 10:43:11 · 240 阅读 · 0 评论 -
使用序列化实现对象的拷贝
使用序列化实现对象的拷贝至少有三种方法:1、使用引用 2、基本类型的拷贝 3、对象类型级别的拷贝1、使用引用使用对象引用来构建实例化对象,实际上只是引用上的别名,所有对象的地址只有一个。其中一个对象的属性改变,其它的对象的属性也改变了Email类:public class Email implements Serializable { private String tit...原创 2018-06-22 16:06:41 · 251 阅读 · 0 评论 -
java StringUtil之String工具类
StringUtil之String工具类 获取字典字符串中的value <功能详细描述>public static final String dictToValue(String mString) {* 获取字典字符串中的ID <功能详细描述> public static final String dictToID(String mStrin...原创 2018-06-05 17:20:18 · 2630 阅读 · 0 评论 -
log4j的基本使用的亮点
log4j的基本使用的亮点:1、方便简洁 在项目的src的目录下建立一个log4j.properties文件,在文件中编写:log4j.rootLogger=DEBUG,stdout,file #DEBUG 级别可以为errorlog4j.appender.stdout=org.apache.log4j.ConsoleAppenderlog4j.appender.stdout...原创 2018-06-11 14:58:17 · 143 阅读 · 0 评论 -
java接口填写模板
java接口填写模板java接口填写模板要点要有:1.接口名称2.请求地址3.接口说明4.接口提供者5.接口使用者6.参数说明6.1参数详情7.返回值说明7.1返回值参数详解详情 ...原创 2018-07-20 15:11:33 · 2797 阅读 · 0 评论 -
uploadify多个文件上传,并显示进度条
uploadify多个文件上传,并显示进度条。uploadify是jquery的一个分支。可以实现多个文件上传,还有进度条显示等等。使用的思路:1.引入jquery-3.3.1.min.js,jquery.uploadify.min.js,uploadify.css,编写出页面2.安装flash插件,并允许它使用。3.在后台解析出文件并保持在服务器中。1.html页面代码:...原创 2018-07-27 10:38:19 · 2341 阅读 · 1 评论 -
java 数组按小排序的基本写法和优化写法
java 数组按小排序的基本写法和优化写法目录1、简单写法2、优化写法1、简单写法(1)使用 Arrays.sort()方法去实现数组排序。(2)使用冒泡法,两个for循环,前面一个数比后面的大,就需要相互调换。public class BubbleSort { public static void main(String[] args) { ...原创 2018-08-09 11:31:46 · 355 阅读 · 0 评论 -
java逆向工程,mybatis代码自动生成器,sql server数据库的版本。
Mybatis 工具 GeneratorMyBatis Generator(以下简称为 MBG),可以逆向生成持久层的基本代码,而且 mybatis 的实现方案比较好,可以自由组合完成比较复杂的查询,当然更复杂的就需要手动写了,下面整理下基本使用!1.MBG 的下载我这里分享的是我经常使用的版本,百度云下载地址:https://pan.baidu.com/s/1o9bgIWq下载成功后的大致目录结...原创 2018-02-09 10:28:07 · 1679 阅读 · 0 评论 -
拦截器和过滤器的区别
拦截器和过滤器的区别过滤器首先说的过滤器,我们配置过滤器的地方是web.xml文件配置,因为过滤器他依赖于servlet容器,在实现上,基于函数回调,它可以对几乎所有的请求进行过滤,都是缺点就是只能再去爱容器中初始化一次,使用过滤器的目的,是用来做一些过滤的操作,获取我们想要的数据,比如:在Javaweb中,对传入的request,response提前过滤掉一些信息,或者提前设置一些参数,...原创 2019-09-06 14:48:20 · 149 阅读 · 0 评论 -
富文本框KindEditer编辑器的介绍和使用详情
KindEditer介绍和使用详情目录一、KindEditer介绍二、KindEditer使用方法1、下载编辑器,下载页面:http://www.kindsoft.net/down.php2、部署编辑器,3、引入对应的kindeditor-all.js文件4、 添加多行文本框textarea,id为editor_id5、为id为editor_id的文本框创建kin...原创 2018-09-10 16:28:35 · 2777 阅读 · 0 评论 -
java异常的介绍和 java非运行时异常使用注意要点
java 异常的介绍和使用注意要点一、java异常的介绍1、异常概述: 有运行时异常和非运行时异常, 异常模型图如网络上这张图所示2、运行时异常 RuntimeException类及其子类异常都叫运行时异常,如NullPointerException(空指针异常),IndexOutOfBoundsException(下标越界异常)等,这些异常是不检查异常,程序中...原创 2018-09-11 16:31:40 · 270 阅读 · 0 评论 -
java 线程的编写
java 线程的编写目录一、线程的状态1、创建2、就绪3.、运行4、阻塞5、终止二、多线程的实现方式1、继承Thread类,重写run方法2、实现Runnable接口,重写run方法,实现Runnable接口的实现类的实例对象作为Thread构造函数的target3、通过Callable和FutureTask创建线程4、通过线程池创建线程三、线程...原创 2018-08-20 16:25:40 · 1172 阅读 · 0 评论 -
java String类的equals方法使用这一事项,不小心就会出现空指针异常NullPointerException
java String类的equals方法使用这一事项,不小心就会出现空指针异常NullPointerException1、注意事项一:使用之前一定要有非空判断, !=null (1)没有非空判断的代码如下:if(TaskVO.getSenderName().equals("openLog")){ showLog(); }(2)有...原创 2018-08-22 11:25:44 · 1357 阅读 · 0 评论 -
java ssm框架中的controller是如何向页面传递参数的。
java ssm框架中的controller是如何向页面传递参数的。目录一、使用Map 来传递参数。,>1、java 后台代码的编写,put了operation和application键值对。2、页面使用后台传递过来的键值对,二、使用PrintWriter来传递参数。1、后台台代码的编写2、页面的代码编写,一、使用Map<String, Object&g...原创 2018-08-07 10:21:11 · 5702 阅读 · 0 评论 -
java后台实现移动登录缓存机制,(过期清除缓存)
java后台实现移动登录缓存机制,(过期清除缓存)目录一、目的是什么?二、原理:三、实现: 一、目的是什么?为了实现定期清除移动端登录后长时间没有操作的用户,也是把登录长时间没有操作的这些用户定期下线处理了。把登录后的权限收回来。二、原理:1、自定义的缓存类A(MoblieUserCache)2、在这个缓存类A中有一个保存用户登录信息的静态列表对象B(Has...原创 2018-08-06 16:37:56 · 4218 阅读 · 1 评论 -
设计模式-代理模式
设计模式-代理模式 一、代理模式是什么 一个类可以代表另外一个类的功能,在代理模式中,我们创建具有对象的对象,以便向外界提供功能接口。代理模式有静态代理和动态代理。二、代理模式的应用场景 比如在生活中,租房子事件也是代理事件,房东把房子交给中介去代理,租客找代理中介既可以租到房子,在这个事件中,中介是代理,租客是使用房东的房子。 所以代...原创 2018-04-23 16:52:11 · 151 阅读 · 0 评论 -
java serializable序列化接口的详解
java serializable序列化接口的详解一、serializable序列化是什么: 使用继承serializable接口的类的可以实现序列化和反序列化的功能,未实现的serializable接口的类将不能无法使其任何状态序列化或者反序列化,可序列化的所有子类本身都是可序列化的。二、serializable序列化原理: 1.序列化serializable接口没有...原创 2018-04-18 16:15:24 · 738 阅读 · 0 评论 -
设计模式3-建造者模式
设计模式3-建造者模式一、建造者模式是什么: 建造者模式是设计模式的一种,将一个复杂对象的构建和它的表示分离,使得同样的构建过程可以创建不同的表示。二、建造者模式原理: 将多个对象之间变化和不变化的分离开来,再加上一个创建管理类来管理区分。三、建造者模式优劣点: 优点:1.建造者独立,,易扩展。2.便于控制细节风险。3.使用者来说比较方便,只是引用其简单的...原创 2018-04-18 11:17:31 · 241 阅读 · 0 评论 -
java foreach语句
foreach语句的结构:for(类 1 对象1:列表1){//代码块1}一步步遍历出列表1所有的对象给对象1,然后执行代码块1,例子: public class test { public static void main(String[] args){ int[] arr = new int[]{1,2,3,4,5,6,7,8,9,10}; for(int...原创 2018-03-12 15:55:41 · 1224 阅读 · 0 评论 -
java for语句
for语句的结构:for(c初始化语句;条件1;增量语句){ //代码块1}for语句解释:先执行初始语句,接着条件1的判断为rue,在执行代码块1,然后执行增量语句,然后条件1的判断,如此循环直到条件1为false,例子: public class test { public static void main(String[] args){ for(int i=...原创 2018-03-12 15:19:53 · 5064 阅读 · 0 评论 -
java do while语句
do while语句解构如下: do {//代码块1}while(条件1)do while 执行顺序。第一次先执行代码块1(不用判断条件1),然后判断条件1,如果条件1为true,则执行代码块1,然后再判断条件1,直到条件1位false,do while语句执行结束。例子:public class test { public static void main(Str...原创 2018-03-12 15:08:24 · 429 阅读 · 0 评论 -
java项目的心得,java项目的代码层次的架构划分。
java项目使用的架构是ssm(Spring+SpringMVC+MyBatis)。一、后台代码一般分三层,Controller,Service,Dao。1.Controller层是对前端或者接口的响应一个逻辑处理的层,这个层级一般调用的是Service层。这个层级调用java代码实现的。2.Service层是对Controller的功能的响应一个逻辑处理的层,是对后台的有关联的逻辑的一个处理。这...原创 2018-03-05 10:29:56 · 10824 阅读 · 0 评论 -
java 语言 while语句的使用方法
while语句的结构:while(条件1){//代码块1}如果条件1符合true则执行代码块1,执行代码块1后继续判断条件1,如此循环,则一直到条件1为false,while语句就执行完了。例子:public class test { public static void main(String[] args){ int i=0; while(i<10){...原创 2018-03-12 11:27:24 · 20960 阅读 · 1 评论 -
java 语言 if else语句的使用方法
if else语句的结果如下if(条件1){//代码块1}else if(条件2){//代码块2}else{//代码块3}if else语句使用方法:如果条件1是true则执行 代码块1,如果条件2是true则执行代码块2,否则执行代码块3。下面是例子:public class test { public static void main(String[] args)...原创 2018-03-12 10:49:37 · 11387 阅读 · 0 评论