JavaSE
文章平均质量分 71
java基础的学习,包括面试问题的总结
在成长道路上奔跑的小牛
生活不止眼前的代码,还有迈向田野的步伐
展开
-
ThreadLocal总结
ThreadLocal概念ThreadLocal 提供了线程的局部变量,只有当前线程可以操作,不会和其它线程的局部变量产生冲突,实现了变量的线程安全。ThreadLocal<T> 位于 java.lang 包下,可以封装各种类型的变量。ThradLocal 是除了实现同步以外的一种保证多线程变量访问的线程安全的方式。简单例子public class ThreadLocalDemo { private static ThreadLocal<String> thread原创 2021-03-07 01:38:12 · 689 阅读 · 1 评论 -
java实现连接linux服务器执行关机命令(也可执行其它命令)
使用java代码连接linux服务器,执行关机命令,也可以执行linux其它的命令。代码如下:@Testpublic void testShutdown() throws IOException { //连接指定服务器 ch.ethz.ssh2.Connection root = RemoteExecuteCommand.getConnection("192.168.126....原创 2020-05-05 00:58:29 · 946 阅读 · 0 评论 -
maven项目打成war包放在tomcat下运行(Windows环境,Linux环境(直接通过ip访问项目),Docker的tomcat容器)
首先是在IDEA中对Maven项目打包,复制war包将Maven项目放在Windows环境下的tomcat第一步:将war包放在tomact下的webapps目录第二步:运行bin目录下的startup.bat文件,运行成功,即可通过localhsot:8008/项目名/访问第三步:若想直接通过localhost:8080/访问,打开conf文件下的server.xml,编辑...原创 2019-08-17 08:32:41 · 1104 阅读 · 0 评论 -
Java中跳出多重循环的方法(推荐使用)
Java中goto作为一个保留关键字,没有被使用,当想跳出多重循环的时候,推荐使用break 标志的方法 @Test public void loop(){ flag: //break标识 for (int i = 0; i < 10; i++) { for (int j = 0; j < 2 ; j++) { if(i==2){ break...原创 2019-08-28 09:52:29 · 542 阅读 · 0 评论 -
实现servlet的单线程模式
这是一个面试题:实现servlet的单线程模式实现servlet的单线程的jsp命令是:<%@ page isThreadSafe="false" %>isThreadSafe = false模式表示servlet以Singleton模式运行的,在同一时间只能一个用户访问该servlet;isThreadSafe = true模式表示servlet以多线程方式运行;...原创 2019-08-28 10:03:21 · 242 阅读 · 0 评论 -
单例模式的懒汉式延迟加载模式在多线程的应用中出现创建多个对象的实现
1.单例模式的懒汉式加载单例模式懒汉式加载的特点:以时间换空间public class TestSingleton { private TestSingleton(){ } private static TestSingleton testSingleton; public static TestSingleton getInstence(){ if (testSing...原创 2019-09-07 12:00:12 · 354 阅读 · 0 评论 -
Java使用Poi进行Excel表格的导入导出总结
记录一次使用Poi读取Excel文件的过程;1. 首先,在使用工具类读取Excel文件的时候出现了两个问题,针对问题将工具类的方法进行了修改。读取空值问题:读取内容若为空,报错;读取时间格式问题:读取2019/7/16 17:11:00类型的时间,使用工具类直接读取,会将时间转换为16-七月-2017,或16-Jul-2017(本机导入会将时间转换为16-七月-2017,打包到服务器之后,...原创 2019-09-29 17:58:27 · 630 阅读 · 0 评论 -
list集合的三种遍历及是否能够删除
最近在复习JAVASE,对集合知识进行了一些总结:list集合的三种遍历方式以及是否能够删除普通for循环 //01:普通的for循环删除 @Test public void Demo1(){ ArrayList<String> list = new ArrayList<String>(); list.add("a"); list.add("b"...原创 2019-08-25 22:17:35 · 1729 阅读 · 0 评论 -
java基本数据类型byte的取值范围-128~127,以及溢出后取值的实现
byte取值范围的计算和溢出取值的计算:首先看一下byte类型在java.lang包下的与源码,源码指定了byte类型的最大值和最小值。2.在计算机内存存放的数值都是补码形式,第一位为符号位(),对应的取值如下:求负整数的补码,先判定其为负数,然后将其原码除符号位外的所有位取反(0变1,1变0,符号位为1不变)后加1获取值。补码原码十进制备注0111 11...原创 2019-08-25 11:30:52 · 1248 阅读 · 0 评论 -
Optional方法的简单使用
Optional是jdk1.8引入的类型,Optional是一个容器对象,将非空检测标准化举一个例子:根据id查询对象返回一个Optional对象,将查询出的对象放到Optional容器中.使用Optional的isPresent()方法可以判断包含的对象是否为空,若为空,返回false,若不为空返回true.然后通过get()方法可以获取到Optional容器中存放的对象. @Test ...原创 2019-08-19 09:14:13 · 1156 阅读 · 0 评论 -
java的String字符串的concat()方法连接字符串和"+"连接字符串解释
String字符串的concat()方法源码分析1.java提供了“+”运算符能进行字符串的连接操作。API里提供的是:首先,string类型是不可变的,所以,通过StringBuffer或者StringBuilder对象实现了字符串的拼接。通过创建StringBuffer或者StringBuilder对象,然后调用其中的append()方法,得到一个拼接后的StringBuffer或者...原创 2019-08-05 08:31:37 · 8060 阅读 · 0 评论 -
WebStrom最新版官网下载包分享
https://pan.baidu.com/s/1sNutpmT2zlzbxkJWrg6RKg 提取码:x3o7原创 2019-07-23 17:17:28 · 2226 阅读 · 0 评论 -
IDEA中applicationContext-trans配置文件ref="dataSource"报错
原因是Spring的配置文件没有完全导入错误截图:找File - Project Structure - Facets,添加缺少的配置文件先Apply后选择OK,问题解决!原创 2019-07-19 12:53:08 · 3903 阅读 · 3 评论 -
Arrays.aslist()方法详解(源码)
Arrays里的asList()方法源码分析 public static <T> List<T> asList(T... a) { //创建一个ArrayList,该ArrayList是Arrays里的内部类,而不是java.util.ArrayList return new ArrayList<>(a); }//该方...原创 2019-07-26 17:23:30 · 703 阅读 · 0 评论 -
多线程学习笔记二
1.单例模式的三种实现单例模式:保证类在内存中只存在一个对象1.1. 饿汉式以空间换时间例:Runtime类实现了饿汉式的单例模式class Singleton01{ //私有化构造函数 private Singleton01() { } //创建私有的本例对象 private static Singleton01 s = new Sing...原创 2019-07-19 08:11:19 · 90 阅读 · 0 评论 -
多线程学习笔记一
多线程1.多线程的引入1.1. 什么是线程线程是程序执行的一条路径, 一个进程中可以包含多条线程多线程并发执行可以提高程序的效率, 可以同时完成多项工作1.2.多线程的应用场景红蜘蛛同时共享屏幕给多个电脑迅雷开启多条线程一起下载QQ同时和多个人一起视频服务器同时处理多个客户端请求2.多线程并行和并发的区别2.1并行并行就是两个任务同时执行,执行A任务的同时执行B任...原创 2019-07-16 21:03:43 · 136 阅读 · 0 评论