![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
文章平均质量分 76
ispotu
IT寻止,coder掘进机
展开
-
ThreadPoolExecutor代替new Thread创建异步单线程
阿里p3c代码规范不允许使用new Thread创建线程,也不推荐使用Executors,推荐使用ThreadPoolExecutor来手动创建线程池。方式1:corePoolSize设置为0,workQueue使用SynchronousQueue方式2:corePoolSize设置为0,但要设置allowCoreThreadTimeOut(默认值为false)为truethreadPoolExecutor.allowCoreThreadTimeOut(true);workQueue使用Sync原创 2022-06-17 12:05:30 · 1381 阅读 · 1 评论 -
jdk1.8的stream对两个 List 遍历匹配数据的处理
import java.util.ArrayList;import java.util.List;import java.util.Objects;import java.util.stream.Collectors;public class testStream { public static void main(String[] args) { List<AwardInfo> prizeRecords = new ArrayList<AwardInf.原创 2020-08-17 20:35:41 · 6471 阅读 · 0 评论 -
java的jvm调优相关工具——jvm调优、GC、压测、linux命令
jmapjdk自带命令。jmap是一个多功能的命令,查看JVM内存使用情况。它可以生成 java 程序的 dump 文件, 也可以查看堆内对象示例的统计信息、查看 ClassLoader 的信息以及 finalizer 队列。jmap -dump:live,format=b,file=myjmapfile.txt 19570jstackjdk自带命令。查看运行java程序的java stack和native stack的信息。jstack pidjstatjdk自带命令。可以原创 2020-06-30 00:48:02 · 897 阅读 · 0 评论 -
抽象类abstract与接口interface区别代码实战演示——观止
请自己阅读以下代码,每个修饰符我都仔细斟酌写上去的,都很有考究。笔者为了写好这篇文章,查阅了很多相关资料,以求总结地准确和全面,花了很多工夫,希望大家珍惜。把这些代码读懂了,抽象类与接口的区别你就过关了。你能通过这些代码很直观地总结出所有抽象类和接口的性质及区别,面试这个知识点基本逃不过下面的代码。为什么我只放代码,不直接写出结论让大家直接观阅呢?因为你直接看结论,记不住!!!过两天你就忘记了。这东西本来没可遵循的规律,记忆点还多,如果你不懂底层源码那忘记更快。你可以对着我亲自实验的原创 2020-06-28 17:24:00 · 477 阅读 · 0 评论 -
面试题:java源码中用到哪些设计模式,为什么这样用
0.简单工厂模式(StaticFactory Method,非23种设计模式之一)又叫做静态工厂方法(StaticFactory Method)模式,但不属于23种GOF设计模式之一。简单工厂模式的实质是由一个工厂类根据传入的参数,动态决定应该创建哪一个产品类。 spring中的BeanFactory就是简单工厂模式的体现,根据传入一个唯一的标识来获得bean对象,但是否是在传入参数后创建还是传入参数前创建这个要根据具体情况来定。bean容器的启动阶段: 读取bean的xml配置文件,将bean原创 2020-06-12 19:46:18 · 982 阅读 · 0 评论 -
IDEA的阿里巴巴规约插件提示:“线程池不允许使用Executors去创建,而是通过ThreadPoolExecutor的方式”的解决方法
IDEA的阿里巴巴规约插件提示:“线程池不允许使用Executors去创建,而是通过ThreadPoolExecutor的方式,这样的处理方式让写的同学更加明确线程池的运行规则,规避资源耗尽的风险。”即:不能使用ExecutorService excutorService = Executors.newCachedThreadPool();改为ThreadPoolExecuto...原创 2019-12-02 19:49:37 · 1598 阅读 · 0 评论 -
java命令:java命令错误: 找不到或无法加载主类
java程序结构:对应本地硬盘目录:E:\IDEADemo\jedisdemo\src\main\java\com\obrain\jedisdemojava命令运行结果:javac在java目录运行javac com\obrain\jedisdemo\test1.java和在java文件当前目录运行javac test1.java编译通过,其他找...原创 2019-10-28 16:53:01 · 1499 阅读 · 0 评论 -
==和===的区别
”==”与”===”是不同的,一个是判断值是否相等,一个是判断值及类型是否完全相等。下面的规则用于判定===运算符比较的两个值是否相等的判断条件•如果两个值的类型不同,它们就不相同。•如果两个值是数字,而且值相同,那么除非其中一个或两个都是NaN(这种情况它们不是等同的),否则它们是等同的。值NaN永远不会与其他任何值等同,包括它自身(奇怪的家伙),要检测一个值是否是NaN,可以使用全转载 2015-11-10 12:13:00 · 496 阅读 · 0 评论 -
Java数据类型中String、Integer、int相互间的转换
学历代表过去,能力代表现在,学习力代表未来!模仿中成长,在创新中成功!Java数据类型中String、Integer、int相互间的转换1.Integer转换成int的方法Integer i = new Integer(10); int k = i.intValue();即Integer.intValue(); 2.int转换成Integer转载 2015-11-10 15:08:49 · 433 阅读 · 0 评论 -
jar/war/ear文件的区别
jar/war/ear文件的区别 jar/war/ear三种文件,在文件结构上,三者并没有什么不同,它们都采用zip或jar档案文件压缩格式。但是它们的使用目的有所区别: Jar文件(扩展名为. Jar)包含Java类的普通库、资源(resources)、辅助文件 (auxiliary files)等 War文件(扩展名为.War)包含全部Web应用程序。在这转载 2015-11-24 10:08:18 · 661 阅读 · 0 评论 -
通过PreparedStatement 对数据库进行增删改查
1 插入数据public boolean ChaRu3(User user){ boolean flag=true; Connection conn=null; PreparedStatement ps=null; //创建PreparedStatement 对象 String sql= "insert into user转载 2015-11-23 18:23:03 · 11939 阅读 · 0 评论 -
正则表达式匹配数字与正文的简例
public static void main(String[] args) {String a = "wqe";String b = "123";String c = "手机卡是";if(a.matches("^[1-9][\\d]*$")){System.out.println("1.获取到的是数字");}if(b.matches("^[1-9][\\d]*$"))原创 2015-11-25 20:03:30 · 745 阅读 · 0 评论 -
Map的key,value与null简例
public static void main(String[] args) {Map m = new HashMap();m.put(null,"1");System.out.println("m:"+m);//m:{null=1}m.put("", null);System.out.println("m:"+m);//m:{=null, null=1}m.put(nu原创 2015-11-25 20:01:22 · 2405 阅读 · 0 评论 -
Java BigDecimal和double
Java BigDecimal和doubleBigDecimal类对于不需要任何准确计算精度的数字可以直接使用float或double,但是如果需要精确计算的结果,则必须使用BigDecimal类,而且使用BigDecimal类也可以进行大数的操作。BigDecimal类的常用方法如表11-15所示。表11-15 BigDecimal类的常用方法转载 2015-11-28 21:58:18 · 863 阅读 · 0 评论 -
getServletConfig() 与getServletContext() 的区别
getServletConfig() 在servlet初始化时,容器传递进来一个ServletConfig对象并保存在servlet实例中,该对象允许访问两项内容:初始化参数和 ServletContext对象,前者通常由容器在文件中指定, 允许在运行时向sevrlet传递有关调度信息,比如说getServletConfig().getInitPa转载 2016-02-28 18:03:16 · 413 阅读 · 0 评论 -
char和int互转
1、int 转换成char: int n = 1; char ch = (char)(n + '0'); 这样打印出来ch的值为1; 不过需要注意(因为char只有一个字节),此处的n只能是0-9之间的字符2、char转换成Int:转载 2016-03-13 16:48:02 · 1799 阅读 · 0 评论 -
byte[]和InputStream的相互转换
1:byte[]转换为InputStream InputStream sbs = new ByteArrayInputStream(byte[] buf); 2:InputStream转换为InputStreambyte[] ByteArrayOutputStream swapStream = new ByteArrayOutputStream(); byte[] bu转载 2016-03-13 17:58:04 · 13918 阅读 · 1 评论 -
把int转换为char把int转换为char(例)
int a = 12345678901; char str[4]; str[0] = (char)(a & 0xff); str[1] = (char)((a > > 8) & 0xff); str[2] = (char)((a > > 16) & 0xff); str[3] = (char原创 2016-03-13 18:00:37 · 13593 阅读 · 0 评论 -
java中如何将字符串数组转换成字符串
如果是 “字符串数组” 转 “字符串”,只能通过循环,没有其它方法 String[] str = {"abc", "bcd", "def"};StringBuffer sb = new StringBuffer();for(int i = 0; i sb. append(str[i]);}String s = sb.toString();如果是 “字符数组” 转 “字符串” 可以通过下边的方法转载 2016-03-13 18:21:20 · 18310 阅读 · 0 评论 -
String字符串转换成int[]数组
String s = "485729304";int[] a = new int[s.length()];for(int i = 0; i {//先由字符串转换成char,再转换成String,然后Integera[i] = Integer.parseInt( String.valueOf(s.charAt(i)));}//字符串中的数据一定要是数字,否则会转载 2016-03-13 18:23:26 · 17942 阅读 · 2 评论 -
Java基础:三步学会Java Socket编程
转载自:http://tech.163.com/06/0410/09/2EBABUD20009159T_3.html 第一步 充分理解Socket 1.什么是socket 所谓socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄。应用程序通常通过"套接字"向网络发出请求或者应答网络请求。 以J2SDK-1.3为例,Socke转载 2016-02-29 11:07:25 · 345 阅读 · 0 评论 -
java socket编程
转载自:http://www.cnblogs.com/linzheng/archive/2011/01/23/1942328.html一,网络编程中两个主要的问题一个是如何准确的定位网络上一台或多台主机,另一个就是找到主机后如何可靠高效的进行数据传输。在TCP/IP协议中IP层主要负责网络主机的定位,数据传输的路由,由IP地址可以唯一地确定Internet上的一台主机。而T转载 2016-02-29 12:15:35 · 355 阅读 · 0 评论 -
web项目获取路径的各种用法
以工程名为/DemoWeb为例: 访问的jsp为:http://localhost:8080/DemoWeb/test/index.jsp 1 JSP中获得当前应用的相对路径和绝对路径 (1)得到工程名:request.getContextPath() 结果:/DemoWeb (2)得到包含工程名的当前页面全路径:request.getRequestURI() 结果:/DemoWe原创 2016-05-26 15:30:09 · 3675 阅读 · 0 评论 -
Java finally语句到底是在return之前还是之后执行
转载自:http://www.cnblogs.com/lanxuezaipiao/p/3440471.html网上有很多人探讨Java中异常捕获机制try...catch...finally块中的finally语句是不是一定会被执行?很多人都说不是,当然他们的回答是正确的,经过我试验,至少有两种情况下finally语句是不会被执行的:(1)try语句没有被执行到,如在try转载 2016-05-04 23:42:08 · 503 阅读 · 0 评论 -
eclipse中新建Java工程的三个JRE选项区别
本文的主角就是这个十分令人纠结地方,至少令我这个初学者十分纠结…先来看看官方的解释(链接)Use default JRE:When selected, the New Java Project Wizard creates a new Java project which uses the workspace default JRE. The defau转载 2016-06-11 13:38:39 · 893 阅读 · 0 评论 -
tomcat配置log4j输出日志到指定文件
在eclipse或myeclipse中使用tomcat启动项目可以在控制台输出相关日志,有时日志打印的多了查看的话很不方便,这时我们可以在我们使用的tomcat中直接配置log4j来将我们需要看的日志打印输出到指定的文件中,这样便于我们进行日志分析,下面就介绍一下如何在tomcat中配置log4j打印日志。 在目录(...\Tomcat5.5.1\common\lib)下加入如转载 2016-07-12 19:26:28 · 9660 阅读 · 1 评论 -
Java并发编程:volatile关键字解析
转自:http://www.cnblogs.com/dolphin0520/p/3920373.html总结:三种并发:synchronized,volatile,locksynchronized单线程,线程安全,但效率不足;volatile:能保证可见性,顺序性,但是不能保持原子性,特别是在i++,并不总是线程安全的转载 2016-07-15 21:37:58 · 499 阅读 · 0 评论 -
Java:类与继承
转自 : http://www.cnblogs.com/dolphin0520/p/3803432.html 对于面向对象的程序设计语言来说,类毫无疑问是其最重要的基础。抽象、封装、继承、多态这四大特性都离不开类,只有存在类,才能体现面向对象编程的特点,今天我们就来了解一些类与继承的相关知识。首先,我们讲述一下与类的初始化相关的东西,然后再从几个方面阐述继承这一大特性。以下是转载 2016-07-18 15:41:36 · 428 阅读 · 0 评论 -
java中抽象类跟接口的区别
含有abstract修饰符的class 即为抽象类,abstract类不能创建实例对象,含有abstract的方法的类必须定义为abstract class ,abstract class 里的方法不必是抽象的,抽象来中定义抽象方法必须放在具体子类中实现,所以呀,不能有抽象的构造方法或抽象的静态方法,如果子类没有实现抽象父类中的所有 方法,那么,子类也必须定义为抽象类。 接口(in转载 2016-07-28 15:53:35 · 523 阅读 · 0 评论 -
读取文件方法大全
1、按字节读取文件内容2、按字符读取文件内容3、按行读取文件内容4、随机读取文件内容 public class ReadFromFile { /** * 以字节为单位读取文件,常用于读二进制文件,如图片、声音、影像等文件。 */ public static void readFileByBytes(String fileName) {转载 2016-07-18 18:05:29 · 700 阅读 · 0 评论 -
java实现查找文本内容替换功能示例
文本替换几乎是所有文本编辑器都支持的功能,但是要限制在编辑其中才可以执行该功能。本实例实现了制定文本文件的内容替换,并且不需要再编辑其中打开文本文件思路:先看视图层,要有一个JButton控件用来选择文件,一个JTextField控件显示选中文件的绝对路径,一个JLabel控件提示用户输入搜索文本,一个JLabel控件提示用户输入替换后的文本,一个JTextField标签供用户转载 2016-07-18 18:24:17 · 11081 阅读 · 2 评论 -
java实现在指定目录下的特定文件中查找特定字符串集
基本结构吧,如图: 实现该功能的为Read类,list为成员变量,存放需要查找的特定字符创,包括四个方法: 1.String[] getFiles(File f) 功能为获取特定目录下的所有文件。当然前提是你传入的File类型是个目录。编写代码不难! 2.String findAllFile(String [] files)转载 2016-07-18 18:59:01 · 3451 阅读 · 0 评论 -
通过cmd运行editplus建立的java文件报错 警告:编码 GBK 的不可映射字符
我用Editplus写了个Student.java文件,然后通过cmd命令行进入到此文件所在的目录,运行:javac Student.java结果报错 :警告:编码 GBK 的不可映射字符网上找原因,有种说法是:在运行javac Student.java命令前先运行javac -encoding UTF-8 Student.java但结果还是报这个错,没解决!后来发现发现这个Stu原创 2016-07-29 18:05:47 · 2275 阅读 · 0 评论 -
子类extends父类方法执行顺序
不解释自己看:父类:Personpublic class Person{ String name; int age; { System.out.println("父类的非静态代码块"); } static{ System.out.println("父类的static代码块"); } Person(){ System.out.println("父类的无参原创 2016-07-29 19:29:38 · 4533 阅读 · 0 评论 -
java常用排序算法总结——观止
1.冒泡算法:从小到大排序:形式1(把大数往右对齐,即右大对齐策略):public class bubbleSort { public bubbleSort(){ int a[]={49,38,65,97,76,13,27,49,78,34,12,64,5,4,62,99,98,54,56,17,18,23,34,15,35,25,53,51}; in...原创 2016-07-20 11:01:16 · 349 阅读 · 0 评论 -
Java 四种内部类
Java 内部类 分四种:成员内部类、局部内部类、静态内部类和匿名内部类。 1、成员内部类: 即作为外部类的一个成员存在,与外部类的属性、方法并列。注意:成员内部类中不能定义静态变量,但可以访问外部类的所有成员。public class Outer{private static int i = 1;private int j=10;private int k=20;转载 2016-07-30 18:01:02 · 15084 阅读 · 2 评论 -
getAttribute()与getParameter()
HttpServletRequest类既有getAttribute()方法,也由getParameter()方法,这两个方法有以下区别:(1)HttpServletRequest类有setAttribute()方法,而没有setParameter()方法(2)当两个Web组件之间为链接关系时,被链接的组件通过getParameter()方法来获得请求参数,例如假定welcome.jsp和aut转载 2016-07-20 15:08:19 · 449 阅读 · 0 评论 -
匿名内部类
匿名类是一种特殊的局部内部类可以从类继承匿名类,还可以从抽象类,接口继承(实现)匿名类匿名内部类,非常常见,可以写在任何地方,就像一般的语句。语法更象是创建对象:Date d = new Date(){};匿名类是对原类的一个继承,同时创建了实例,{} 就是继承以后的类体。类体中可使用所有类的语法。匿名类不能写构造器。匿名类可以从抽象类或者接口继承,必须提供抽象方法原创 2016-07-30 21:31:38 · 735 阅读 · 0 评论 -
一个完整的简单jsp+servlet实例,实现简单的登录
开发环境myeclipse+tomcat61、先创建web project,项目名为RegisterSystem,2、在WebRoot 目录下创建login.jsp文件,只需修改body中的内容,如下所示: username: password: 3、在scr目录下的com.ht.servlet编写A原创 2016-07-20 23:42:29 · 45390 阅读 · 10 评论 -
Java集合框架List,Map,Set等全面介绍
Java Collections Framework是Java提供的对集合进行定义,操作,和管理的包含一组接口,类的体系结构。 Java集合框架的基本接口/类层次结构:java.util.Collection [I]+--java.util.List [I] +--java.util.ArrayList [C] +--java.util.Linked转载 2016-08-16 18:59:49 · 548 阅读 · 0 评论