JAVA基础知识
文章平均质量分 60
JAVA基础知识
阿杰同学
希望大家都能找到心仪的工作,学习是一条时而郁郁寡欢,时而开怀大笑的路,加油。如果你通过努力成功进入到了心仪的公司,一定不要懈怠放松,职场成长和新技术学习一样,不进则退。如果有幸我们江湖再见!
展开
-
Java中的枚举Enum
在Java没有提供枚举的时候,比如我们要使用一个表示周几的枚举值怎么办?原创 2022-08-16 16:57:02 · 161 阅读 · 0 评论 -
测试工具ApacheJMeter使用教程-详解
首先了解一下jmeret主要的配置元件1、测试计划:是使用 JMeter 进行测试的起点,它是其它 JMeter测试元件的容器2、线程组:代表一定数量的用户,它可以用来模拟用户并发发送请求。实际的请求内容在Sampler中定义,它被线程组包含。3、配置元件:维护Sampler需要的配置信息,并根据实际的需要修改请求的内容。4、前置处理器:负责在请求之前工作,常用来修改请求的设置5、后置处理器:负责在请求之后工作,常用获取返回的值。一个接口的调通1.首先 选择添加 ---------原创 2022-04-19 18:40:55 · 4089 阅读 · 0 评论 -
JavaSE进阶知识学习----多线程基础知识
多线程基础知识1.概述程序,进程和线程程序:是为了完成某一特定的功能或任务,用某种语言编写的一段静态代码。进程:是程序的一次执行过程,它自身有产生,存在和消亡的生命周期。线程:是进程的小单元,是一个程序内部的一条执行路径。2.Java中多线程的创建和使用2.1线程的创建方法之一:继承Thread类,重写Run()方法。使用说明:1.定义子类继承Thread类。2.子类中重写Thread类中的run方法。3.创建Thread子类对象,即创建了线程对象4.调用线程对象的start方法,启动原创 2022-02-15 10:38:39 · 150 阅读 · 0 评论 -
redis和memcached的区别和使用场景
Redis 和 Memcached 都是基于内存的数据存储系统。Memcached是高性能分布式内存缓存服务,其本质上就是一个内存key-value数据库。Redis是一个开源的key-value存储系统。与Memcached类似,Redis将大部分数据存储在内存中,支持的数据类型包括:字符串、哈希表、链表、集合、有序集合以及基于这些数据类型的相关操作。区别1、Redis和Memcache都是将数据存放在内存中,都是内存数据库。不过memcache还可用于缓存其他东西,例如图片、视频等等;2、Redi原创 2022-01-06 19:10:47 · 1247 阅读 · 0 评论 -
HashMap中为啥要重写hashcode和equals方法
1. equals方法如果使用==判断俩个对象是否相等,这个只是从地址看是否相等,而与我们的需求是不符合的。即使俩个对象地址是不同的,如果它的属性是相同的,那么可判定这俩个对象相等。未重写equals方法:public class Person { public static void main(String[] args) { Person p1 = new Person(); Person p2 = new Person(); Sy原创 2021-12-30 17:04:56 · 2034 阅读 · 1 评论 -
梳理一下我理解的aop
先记录一下AOP的几个概念:AOP:首先,AOP是Aspect-Originted Programming,即面向切面编程。我觉得可以这样地简单理解,aop就是为了你更清楚的逻辑,让你的业务逻辑代码更清晰,不用去想其他事,像日志啊,权限啊这些和业务逻辑无关的东西。那要怎么用这些又很重要的功能呢?我们不用改变原来的代码,只要在另一个个地方,把这些要附加的功能打包好,然后运行的时候切进你要用这些功能的地方,aop其实大概就是这样。好的那就来看看下面的几个名词:advice:翻译成增强、通知,其实就是你要原创 2021-12-21 17:22:40 · 208 阅读 · 0 评论 -
TCP四次挥手,输入网址到页面加载的过程
输入URL到页面加载的全过程域名解析建立TCP连接(三次握手)浏览器发送HTTP请求报文服务器回复HTTP响应报文浏览器将资源缓存到本地释放TCP连接(四次挥手)域名解析通过DNS将域名解析成IP地址。在解析过程中,按照浏览器缓存、系统缓存、路由器缓存、ISP(运营商)DNS缓存、根域名服务器、顶级域名服务器、主域名服务器的顺序,逐步读取缓存,直到拿到IP地址注意:1、用户浏览器、操作系统都有缓存,本地域名服务器也有自己的缓存。不过缓存都有自己的时效。2、浏览器向本地域名服务器的原创 2021-12-21 15:44:00 · 634 阅读 · 0 评论 -
java设计模式面试专题及答案
java设计模式面试专题及答案1.请列举出在 JDK 中几个常用的设计模式?单例模式(Singleton pattern)用于 Runtime,Calendar 和其他的一些类中。工厂模式(Factory pattern)被用于各种不可变的类如 Boolean,像 Boolean.valueOf。观察者模式(Observer pattern)被用于 Swing 和很多的事件监听中。装饰器设计模式(Decoratordesign pattern)被用于多个 Java IO 类中。2.什么是设计原创 2021-12-14 15:24:08 · 179 阅读 · 0 评论 -
Java编程题 (一)
一个球从100米高度自由落下,每次落地后反弹回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高import java.text.*;public class Text_10 { public static void main(String[] args) { /* * 一个球从100米高度自由落下,每次落地后反弹回原高度的一半; * 再落下,求它在第10次落地时,共经过多少米?第10次反弹多高 *原创 2021-12-14 15:15:29 · 423 阅读 · 0 评论 -
final finally 和 finalize的区别
final finally 和 finalize的区别1、final修饰符(关键字)被final修饰的类,就意味着不能再派生出新的子类,不能作为父类而被子类继承。因此一个类不能既被abstract声明,又被final声明。将变量或方法声明为final,可以保证他们在使用的过程中不被修改。2、finally是在异常处理时提供finally块来执行任何清除操作不管有没有异常被抛出、捕获,finally块都会被执行。try块中的内容是在无异常时执行到结束。catch块中的内容,是在try块内容发生c原创 2021-12-14 15:04:07 · 64 阅读 · 0 评论 -
mkdir与mkdirs的区别
项目中需要在代码中读取或创建文件保存路径,用到了mkdir,查看还有个mkdirs方法,这里记录一下两者的区别。1、关于两者的说明如下:boolean mkdir() : 创建此抽象路径名指定的目录。boolean mkdirs() : 创建此抽象路径名指定的目录,包括创建必需但不存在的父目录。2、结合自己的理解及具体实践如下: mkdir():只能创建一层目录, 如:File file = new File("e:/test");file.mkdir();这样会在e:/路径下创建t原创 2021-12-08 15:18:15 · 6878 阅读 · 1 评论 -
同步异步是啥?
定义:同步和异步关注的是 消息通信机制 (synchronous communication/ asynchronous communication)。同步,就是调用某个东西是,调用方得等待这个调用返回结果才能继续往后执行。异步,和同步相反 调用方不会理解得到结果,而是在调用发出后调用者可用继续执行后续操作,被调用者通过状体来通知调用者,或者通过回掉函数来处理这个调用。比方说:你去商城买东西,你看上了一款手机,能和店家说你一个这款手机,他就去仓库拿货,你得在店里等着,不能离开,这叫做同步。现在原创 2021-11-24 10:25:36 · 631 阅读 · 0 评论 -
Java8新特性之Lambda表达式详解
Lambda表达式详解Lambda简介Lambda 表达式是 JDK8 的一个新特性,可以取代大部分的匿名内部类,写出更优雅的 Java 代码,尤其在集合的遍历和其他集合操作中,可以极大地优化代码结构。JDK 也提供了大量的内置函数式接口供我们使用,使得 Lambda 表达式的运用更加方便、高效。对接口的要求虽然使用 Lambda 表达式可以对某些接口进行简单的实现,但并不是所有的接口都可以使用 Lambda 表达式来实现。Lambda 规定接口中只能有一个需要被实现的方法,不是规定接口中只能有一原创 2021-11-17 15:36:21 · 317 阅读 · 0 评论 -
Java面经の深入理解volatile
深入理解volatile下面介绍几个概念:共享变量:共享变量是指可以同时被多个线程访问的变量,共享变量是被存放在堆里面,所有的方法内临时变量都不是共享变量。重排序:重排序是指为了提高指令运行的性能,在编译时或者运行时对指令执行顺序进行调整的机制。重排序分为编译重排序和运行时重排序。编译重排序是指编译器在编译源代码的时候就对代码执行顺序进行分析,在遵循as-if-serial的原则前提下对源码的执行顺序进行调整。as-if-serial原则是指在单线程环境下,无论怎么重排序,代码的执行结果都是确定的。运原创 2021-11-16 11:15:50 · 131 阅读 · 0 评论 -
Java基础知识
1. Java 基本功1.1. Java 入门(基础概念与常识)1.1.1. Java 语言有哪些特点?1.1.2. 关于 JVM JDK 和 JRE 最详细通俗的解答1.1.2.1. JVM1.1.2.2. JDK 和 JRE1.1.3. Oracle JDK 和 OpenJDK 的对比1.1.4. Java 和 C++的区别?1.1.5. 什么是 Java 程序的主类 应用程序和小程序的主类有何不同?1.1.6. Java 应用程序与小程序之间有哪些差别?1.1.7. ..原创 2021-10-29 14:32:06 · 332 阅读 · 0 评论 -
java.math.BigDecimal类详解
一、BigDecimal概述 Java在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算。双精度浮点型变量double可以处理16位有效数,但在实际应用中,可能需要对更大或者更小的数进行运算和处理。一般情况下,对于那些不需要准确计算精度的数字,我们可以直接使用Float和Double处理,但是Double.valueOf(String) 和Float.valueOf(String)会丢失精度。所以开发中,如果我们需要精确计算的结果,则必须使用BigDec原创 2021-10-25 11:34:35 · 4114 阅读 · 0 评论 -
Java 中list和map遍历删除
List与Map的遍历过程中删除元素List<Map<String,Object>> list = new ArrayList<Map<String, Object>>(); Map<String,Object> map1 = new HashMap<String, Object>(); List<String> list1 = new ArrayList<String>();原创 2021-10-22 15:31:37 · 1281 阅读 · 0 评论 -
java面试题之Error和Exception的区别
从概念角度分析:Error:程序无法处理的系统错误,编译器不做检查;Exception:程序可以处理的异常,捕获后可能恢复;总结:前者是程序无法处理的错误,后者是可以处理的异常。从责任角度分析:Error: 属于JVM需要负担的责任;Exception:RuntimeException(非受检异常)是程序应该负担的责任;Checked Exception (受检异常)可检查异常时Java编译器应该负担的责任。常见Error和ExceptionRuntimeException:原创 2021-10-22 09:40:27 · 490 阅读 · 0 评论 -
Map集合循环遍历的几种方式
java中map的循环public class MyUtils { public static void main(String[] args) throws Exception { Map<String, Object> map = new HashMap<String, Object>(); map.put("aaa", 111); map.put("bbb", 222); map.put("ccc"原创 2021-10-21 19:13:51 · 1845 阅读 · 0 评论 -
超级实用的Java工具类
字符串工具类首先介绍一下commons-lang3的一个字符串工具类StringUtils,常用方法如下:1、isEmpty() 判断字符串是否为空。2、isBlank() 判断字符串是否为空,如果字符串都是空格,也认为是空。public class StringUtilsTest { public static void main(String[] args) { String str = " "; System.out.println(Strin原创 2021-10-09 11:01:35 · 306 阅读 · 0 评论 -
Java中Math函数详解
Java中Math函数的使用算术计算Math.sqrt() :计算平方根Math.cbrt() : 计算立方根Math.pow(a, b) : 计算a的b次方Math.max( , ) : 计算最大值Math.min( , ) : 计算最小值Math.abs( ) : 取绝对值System.out.println(Math.sqrt(25)); //5.0 --计算平方根System.out.println(Math.cbrt(8)); //2.0原创 2021-09-27 11:11:56 · 10258 阅读 · 0 评论 -
Java读取properties文件的六种方法
1。使用java.util.Properties类的load()方法示例: InputStream in = lnew BufferedInputStream(new FileInputStream(name));Properties p = new Properties();p.load(in);2。使用java.util.ResourceBundle类的getBundle()方法示例: ResourceBundle rb = ResourceBundle.getBundle(name, Loc原创 2020-07-29 11:08:11 · 1189 阅读 · 0 评论 -
SQL Server查询年月日的时间日期sql语句
SELECT CONVERT(varchar(100), GETDATE(), 0): 05 16 2013 10:57AMSELECT CONVERT(varchar(100), GETDATE(), 1): 05/16/06SELECT CONVERT(varchar(100), GETDATE(), 2): 06.05.16SELECT CONVERT(varchar(100), GETDATE(), 3): 16/05/06SELECT CONVERT(varchar(100), GETDA原创 2021-09-08 17:42:34 · 2291 阅读 · 0 评论 -
Java8中利用stream对map集合进行过滤的方法
Map<String,Object> ddw=new HashMap<>(); ddw.put("height","150"); ddw.put("weight","510"); Map<String,Object> hl=new HashMap<>(); hl.put("height","160"); hl.put(" height","610"); Map<String,Object> gy=n.原创 2021-07-16 17:25:33 · 5301 阅读 · 0 评论 -
Java必会的工具库,让你的代码量减少90%
#Java必会的工具库,让你的代码量减少90%Java自带工具方法1.1 List集合拼接成以逗号分隔的字符串// 如何把list集合拼接成以逗号分隔的字符串 a,b,cList list = Arrays.asList(“a”, “b”, “c”);// 第一种方法,可以用stream流String join = list.stream().collect(Collectors.joining(","));System.out.println(join); // 输出 a,b,c//原创 2021-06-26 14:42:10 · 91 阅读 · 0 评论 -
浅谈JDK、JRE、JVM区别与联系
关键字:JDK,JRE,JVM摘要:JDK是 Java 语言的软件开发工具包(SDK)。在JDK的安装目录下有一个jre目录,里面有两个文件夹bin和lib,在这里可以认为bin里的就是jvm,lib中则是jvm工作所需要的类库,而jvm和 lib合起来就称为jre。一、JDKJDK(Java Development Kit) 是整个JAVA的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具(javac/java/jdb等)和Java基础的类库(即Jav原创 2021-03-06 14:27:47 · 240 阅读 · 1 评论 -
Spring中的@Transactional(rollbackFor = Exception.class)属性详解
Spring中的@Transactional(rollbackFor = Exception.class)属性详解序言今天我在写代码的时候,看到了。一个注解@Transactional(rollbackFor = Exception.class),今天就和大家分享一下,这个注解的用法;异常如下图所示,我们都知道Exception分为运行时异常RuntimeException和非运行时异常error是一定会回滚的如果不对运行时异常进行处理,那么出现运行时异常之后,要么是线程中止,要么是主程序终原创 2021-01-14 11:27:49 · 307 阅读 · 0 评论 -
Java之BigDecimal详解
一、BigDecimal概述 Java在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算。双精度浮点型变量double可以处理16位有效数,但在实际应用中,可能需要对更大或者更小的数进行运算和处理。一般情况下,对于那些不需要准确计算精度的数字,我们可以直接使用Float和Double处理,但是Double.valueOf(String) 和Float.valueOf(String)会丢失精度。所以开发中,如果我们需要精确计算的结果,则必须使用BigDec原创 2020-12-19 15:37:34 · 398 阅读 · 1 评论 -
java开发多线程案例
ExecutorService exec = Executors.newCachedThreadPool();List iii = new ArrayList<>();iii.add(“1”);iii.add(“2”);iii.add(“3”);iii.add(“4”);for (String ii : iii) {Runnable runnable = new Runnable() {@Overridepublic void run() {// TODO Auto-gene原创 2020-11-19 10:32:30 · 108 阅读 · 0 评论 -
CEST日期格式转换为 年月日时分秒
String datestring =“Wed Oct 16 00:00:00 CEST 2013”;//日期格式化DateFormat formate1 = new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”);DateFormat formate2 = new SimpleDateFormat(“EEE MMM dd HH:mm:ss zzz yyyy”,Locale.ENGLISH);Date date = formate2.parse(date原创 2020-11-11 15:40:33 · 827 阅读 · 0 评论 -
JAVA后端知识点长啥样?
SpringSpring框架的七大模块Spring Core:框架的最基础部分,提供 IoC 容器,对 bean 进行管理。Spring Context:继承BeanFactory,提供上下文信息,扩展出JNDI、EJB、电子邮件、国际化等功能。Spring DAO:提供了JDBC的抽象层,还提供了声明性事务管理方法。Spring ORM:提供了JPA、JDO、Hibernate、MyBatis 等ORM映射层.Spring AOP:集成了所有AOP功能Spring Web:提供了基础的 We原创 2020-09-12 10:06:36 · 117 阅读 · 1 评论 -
JAVA基础(集合)知识点
说说List,Set,Map三者的区别?List(对付顺序的好帮手):List接口存储一组不唯一(可以有多个元素引用相同的对象),有序的对象Set(注重独一无二的性质): 不允许重复的集合。不会有多个元素引用相同的对象。Map(用Key来搜索的专家): 使用键值对存储。Map会维护与Key有关联的值。两个Key可以引用相同的对象,但Key不能重复,典型的Key是String类型,但也可以是任何对象。Arraylist 与 LinkedList 区别?是否保证线程安全:ArrayList 和 L原创 2020-08-30 22:20:06 · 181 阅读 · 0 评论 -
Java入门基础
Java入门基础一:java概述: 1991 年Sun公司的James Gosling等人开始开发名称为 Oak 的语言,希望用于控制嵌入在有线电视交换盒、PDA等的微处理器; 1994年将Oak语言更名为Java; Java的三种技术架构: JAVAEE:Java Platform Enterprise Edition,开发企业环境下的应用程序,主要针对web程序开发; JAVASE:Java Platform Standard Edition,完成桌面应用程序的开发,是其它两者的基原创 2020-08-29 10:08:04 · 232 阅读 · 0 评论 -
Java三大特性详解2020Java
1、封装封装指的是属性私有化,根据需要提供setter和getter方法来访问属性。即隐藏具体属性和实现细节,仅对外开放接口,控制程序中属性的访问级别。封装目的:增强安全性和简化编程,使用者不必在意具体实现细节,而只是通过外部接口即可访问类的成员。2、继承继承是指将多个相同的属性和方法提取出来,新建一个父类。Java中一个类只能继承一个父类,且只能继承访问权限非private的属性和方法。 子类可以重写父类中的方法,命名与父类中同名的属性。继承目的:代码复用。3、多态多态可以分为两种:设计时原创 2020-08-25 16:42:34 · 141 阅读 · 1 评论