- 博客(86)
- 收藏
- 关注
原创 Integer的比较
public class DebugIntegerTests { public static void main(String[] args) { System.out.println("基于断点方式分析和测试整数池"); Integer a1=100; Integer a2=100;//Integer.valueOf(100) Integer a3=200;//Integer.valueOf(200) Integer
2021-12-03 19:27:49
727
原创 Java中关于finally的一个知识点
public class DebugFinallyTest { static int doGet(){ int count=100; try{ count++; count=count/0; return count; }catch (Exception e){ count=100; return count; //return拿值得
2021-12-03 19:13:50
195
原创 Java中关于枚举应用简单代码演示
import java.util.concurrent.TimeUnit;//枚举类型JDK5推出一种新的数据类型,主要用于定义一些固定值.//一年四季//一周七天//订单状态//性别要求enum Gender{//Gender.class //定义三个枚举实例(类加载时创建) MALE,FEMALE,NONE("没有性别要求"); private String name; private Gender(){} private Gender(String
2021-12-03 18:12:36
135
原创 Java中阻塞式队列简单代码演示
import java.util.concurrent.ArrayBlockingQueue;import java.util.concurrent.BlockingQueue;/** * 阻塞式队列 */public class BlockQueueTests { public static void main(String[] args) throws InterruptedException { //FIFO(先进先出-体现公平性):类似超市排队结账
2021-12-03 17:58:15
134
原创 Java简单线程池代码
//J.U.Cimport java.util.concurrent.*;import java.util.concurrent.atomic.AtomicLong;public class ThreadPoolTests { public static void main(String[] args) {// public ThreadPoolExecutor(int corePoolSize,// int maximumPoolSize,//
2021-12-02 20:22:01
385
原创 Java定时启动一个任务
import java.util.Timer;import java.util.TimerTask;public class TimerTests { public static void main(String[] args) { //通过timer对象可以启动一个定时任务 Timer timer=new Timer(); //基于timer对象启动并执行任务 timer.schedule(new TimerTask() {//
2021-12-02 20:20:53
573
原创 Java中的反射原理代码
import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;import java.lang.annotation.Target;import java.lang.reflect.Method;//自定义注解@Retention(RetentionPolicy.RUNTIME)@Target(ElementTy
2021-12-02 20:19:33
319
原创 Java中关于日志
import lombok.extern.slf4j.Slf4j;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.RestController;/** * 基于此controller演示配置中心的作用. * 在这个contro
2021-12-02 18:00:00
413
原创 Java中服务的创建(简单的Tomcat)
import java.io.IOException;import java.io.OutputStream;import java.net.ServerSocket;import java.net.Socket;public class Tomcat { public static void main(String[] args) throws IOException { //Java中服务的创建 System.out.println("start ser
2021-12-02 16:50:12
319
原创 Object 类主要提供的 11 个方法:
Object 类是一个特殊的类,是所有类的父类。它主要提供了以下 11 个方法:public final native Class<?> getClass()//native方法,用于返回当前运行时对象的Class对象,使用了final关键字修饰,故不允许子类重写。public native int hashCode() //native方法,用于返回对象的哈希码,主要使用在哈希表中,比如JDK中的HashMap。public boolean equals(Object obj)//
2021-11-30 15:08:49
698
原创 Java单例模式
单例模式可以说是大多数开发人员在实际中使用最多的,常见的Spring默认创建的bean就是单例模式的。单例模式有很多好处,比如可节约系统内存空间,控制资源的使用。其中单例模式最重要的是确保对象只有一个。简单来说,保证一个类在内存中的对象就一个。RunTime就是典型的单例设计,我们通过对RunTime类的分析,一窥究竟。源码剖析/** * Every Java application has a single instance of class * <code>Runtime&l
2021-07-16 15:51:13
91
原创 Java中的设计模式
Java中有23 种设计模式,本质是面向对象设计原则的实际运用,是对类的封装性、继承性和多态性,以及类的关联关系和组合关系的充分理解。当然,软件设计模式只是一个引导,在实际的软件开发中,必须根据具体的需求来选择。1、 对于简单的程序,可能写一个简单的算法要比引入某种设计模式更加容易。2、 但是对于大型项目开发或者框架设计,用设计模式来组织代码显然更好。...
2021-07-16 15:43:09
102
原创 Java对象在内存中的存储和创建
Java把内存分成5大区域,我们重点关注栈和堆1、 一般来讲局部变量存在栈中,方法执行完毕内存就被释放2、 对象(new出来的东西)存在堆中,对象不再被使用时,内存才会被释放3、 每个堆内存的元素都有地址值4、 对象中的属性都是有默认值的...
2021-07-05 12:54:42
659
原创 在Java中使用Lambd对HashMap进行遍历
import java.util.HashMap;import java.util.Map;import java.util.function.BiConsumer;import java.util.function.Consumer;//使用Lambd对HashMap进行遍历public class LambdaHashMap { public static void main(String[] args) { Map<Integer,String> ma.
2021-06-07 08:20:28
354
原创 在Java中获取两个数的中间值(超大数值)
public class MidValue { public static void main(String[] args) { method1();//两数相加后除二 method2();//处理超大数值 } private static void method1() { int min = 10; int max = 20; int midValue = (max + min)/2;
2021-06-07 08:06:50
2646
原创 关于在Java中Integer对象是否相等问题的判断
public class IntegerEqualJudge { public static void main(String[] args) { Integer a = new Integer(1); Integer b = new Integer(1); Integer c= 1; Integer d=1; Integer e =128; Integer f =128; int g =
2021-06-07 07:56:05
721
原创 在Java中如何将List中的元素去重
import java.util.Arrays;import java.util.HashSet;import java.util.List;import java.util.Set;import java.util.stream.Collectors;public class RemoveListduplicate { public static void main(String[] args) { List<String> list = Arrays.as
2021-06-07 07:44:03
216
原创 在Java中将小写字母快速转换为大写字母
//将小写字母快速转变为大写字母public class UpperConversion { public static void main(String[] args) { char small = 'c'; char big =(char) (small ^ 32); System.out.println(big); char small2 = 'h'; char big2 = (char)(big^32);
2021-06-07 07:30:57
4595
原创 在Java中使用Lambda表达式计算1-100的偶数和
import java.util.stream.IntStream;//使用Lambda表达式计算1-100的偶数和public class lambdaSUM { public static void main(String[] args) { int sum = IntStream.range(1,100).filter(a -> a%2==0).sum(); System.out.println(sum); }}...
2021-06-07 07:24:05
1088
原创 在Java中将int[]数组转换成Integer[]数组
import java.util.Arrays;//将int[] 转换为 Integer[]public class Convert { public static void main(String[] args) { int[] nums = {1,3,5,7,9}; method1(nums);//使用for循环 method2(nums);//流式编程 } private static void method1(int [
2021-06-07 07:20:57
3588
原创 Java基础高频面试题(部分)
列出JAVA中所有基本数据类型,并说明这些数据类型占用的字节数??答案:java的原始数据类型,也可以叫java的基本数据类型,一共就8个,分别是:byte、short、int、long、boolean、char、float、doublebyte 1个字节boolean 1个字节char 2个字节short 2个字节int 4个字节long 8个字节float 4个字节double 8个字节2.continue和 break有什么区别?答案:break和continue都是用来控.
2021-05-20 16:15:54
231
1
原创 Java使用JDBC连接数据库的几种方式(普通方式与防止SQL注入方式)
import java.sql.*;import java.util.Scanner;//测试 JDBC//JDBC用来把java程序和数据库连接起来,目的是通过java代码操作数据库public class TestJDBC { public static void main(String[] args) throws Exception {// method();//普通方式// method2();//暴露SQL注入问题 metho
2021-05-18 11:19:44
219
原创 Java使用JDBC连接数据库的基本步骤
package jdbc;import java.sql.*;public class TestJDBC { public static void main(String[] args) throws ClassNotFoundException, SQLException { //1.注册驱动 Class.forName("com.mysql.cj.jdbc.Driver"); //2.连接数据库 String url =
2021-05-18 11:05:40
208
原创 Java排序之快速排序
快速排序思想:快速排序主要是通过选择一个关键字作为基准值,比基准值小的都在左边序列(一般是无序的),比基准值大的都在右边(一般是无序的),依次递归,达到总体待排序序列都有序。快速排序算法描述:1) 选择基准:在待排序列中,按照某种方式挑出一个元素,作为“基准”(privot)2)分割操作:以该基准在序列中的实际位置,把序列分成两个子序列。此时,在基准左边的元素都比该基准小,在基准右边的元素都比基准大3)递归地对两个序列进行快速排序,直到序列为空或者只有一个元素时间复杂度分析:最优时间复杂度:O
2021-05-06 18:03:00
282
原创 Java排序之堆排序
堆排序思想:堆是一颗顺序存储的完全二叉树。完全二叉树中所有非终端节点的值均不大于(或不小于)其左、右孩子节点的值。其中每个节点的值小于等于其左,右孩子的值,这样的堆称为小根堆;其中每个节点的值大于等于其左、右孩子的值,这样的堆称为大根堆。堆排序是指利用堆这种数据结构设计的一种排序算法。堆排序利用了大根堆(或小根堆)堆顶记录的关键字最大(或最小)这一特征,使得在当前无序中选取最大或(最小)关键字的记录变得简单。堆排序算法描述用大根堆排序的基本思想:堆排序首先是根据元素构建堆,然后将堆得根节点取出(一般
2021-05-06 13:41:14
85
原创 Java排序之插入排序
插入排序思想:通过构建有序数列,对于未排序的数据,在已排序的序列中从后向前进行查找操作,找到满足条件的元素之后进行位置插入操作。插入排序算法描述:1)从第一个元素开始,该元素可以认为已经是排序好的元素;2)取出下一个元素,在已经排序好的元素中从后向前进行查找;3)如果已经排序好的元素大于新元素,将该元素移动到下一位置;4)重复第三步,直到找到已排序好的元素小于或等于新元素,进行元素的插入动作。时间复杂度分析:最优时间复杂度:O(n)平均时间复杂度:O(n^2)最差时间复杂度:O(n^2)
2021-05-06 13:26:03
105
原创 Java排序之选择排序
选择排序算法描述:首先在未排序的序列中找到最小(或最大)的元素(根据自己所需进行排序),存放在排序序列的起始位置,然后再从剩余的元素中继续寻找最小(或最大)的元素,和已排序好的队列末尾进行交换,以此类推,直到所有元素都排序完毕。选择排序的特点:选择排序是不稳定的排序算法之一,无论对什么数据进行排序都是O(n^2)的时间复杂度,因为选择排序的时间复杂度大,所以当使用选择排序的时候,数据规模越小越好。时间复杂度分析:最优时间复杂度:O(n^2)平均时间复杂度:O(n^2)最坏时间复杂度:O(n^2)
2021-05-06 13:07:50
112
原创 基本SQL语句
1 定义结构化查询语言(Structured Query Language)简称SQL(发音:/ˈes kjuː ˈel/ “S-Q-L”),是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。SQL 是1986年10 月由美国国家标准局(ANSI)通过的数据库语言美国标准,接着,国际标准化组织(ISO)颁布了SQL正式国际标准。2 分类DDL: 数据定义语言, 负责数据库和表相关的操作(Data Define L
2021-04-28 11:25:45
149
原创 关于MySQL的一些基本知识
Mysql数据库1) mysql服务端,它来处理具体数据维护,保存磁盘2) mysql客户端,CRUD新增,修改,删除,查询1 MySQL数据存放在哪里?在MySQL的配置文件my.ini中会进行默认配置2 MySQL2.1客户端1:DOS窗口mysql -uroot -proot语法:mysql.exe执行文件代表参数-u 用户名,紧接着写的-p 密码,紧接着写的2.2 MySQL客户端2:可视化工具1.3 数据库的结构...
2021-04-28 11:03:45
81
原创 关于数据库的一些基本知识
1概念1.1 什么是数据库简而言之,就是存储数据,管理数据的仓库。常见的数据库分为:l 关系型数据库, Oracle、MySQL、SQLServer、Accessl 非关系型数据库, MongoDB、Redis、Solr、ElasticSearch、Hive、HBase1.2 关系型和非关系型早期发展的数据库建立在数据的紧密关系基础之上(如:父子关系、师生关系),我们称其为关系型数据库,也称为传统数据库;现今数据库建立在数据的松散关系基础之上(如:中国人和美国人
2021-04-28 10:55:24
262
原创 Java基础知识点简单总结
java命令程序执行字节码文件时不能跟文件后缀名Java程序开发需要经过三个步骤:编写(.java)、编译(.class)、运行。编写的源程序为.java后缀的,编译后为.class的字节码文件Java Card、Java Me、Java Se、Java EE都属于Java技术体系java语言支持跨平台,没有指针的概念,拥有GC垃圾自动回收机制在JDK目录结构中,lib目录下存放的都是库文件,而bin目录下有编译器、解释器和许多工具(如服务器工具、IDL、package工具和jdb等)Java语.
2021-04-27 17:26:12
177
原创 Java关于HashMap遍历的几种方法
import java.util.Collection;import java.util.HashMap;import java.util.Map;import java.util.Set;public class TestHashMap { public static void main(String[] args) { //method(); //method2(); method3(); } private stati
2021-04-22 19:20:04
100
原创 Java IO题目写进写出示例
将一个int类型的最大值通过文件流(InputStream)写入文件,再从文件中恢复并输出.import java.io.*;import java.nio.charset.StandardCharsets;public class WriteintMAX { public static void main(String[] args) throws Exception { int max = Integer.MAX_VALUE; System.out.pr
2021-04-21 09:27:22
92
原创 Java输出字符数组char[]中每个字符出现的次数
/**Java输出字符数组char[]中每个字符出现的次数**/import java.util.Arrays;public class ShowTimes { public static void main(String[] args) { char[] ch = { 'a','c','a','b','c','b','e','f','a'}; times(ch); times2(ch); } private static voi
2021-04-15 22:48:49
769
1
原创 关于Java包装类的一些知识点
1.与基本类型的对应关系2. Number2.1数字包装类的抽象父类2.2常用的方法:提供了各种获取值的方式,已经完成了强转3.Integer3.1创建对象new Integer(5);新建对象Integer.valueOf(5);在Integer类中,包含256个Integer缓存对象,范围是 -128到127。使用valueOf()时,如果指定范围内的值,访问缓存对象,而不新建;如果指定范围外的值,直接新建对象。Integer a = new Integer(5);//创建
2021-04-15 17:06:44
133
原创 Java关于BigDecimal/BigInteger的一些知识点
1.概述BigDecimal:常用来解决精确的浮点数运算。BigInteger:常用来解决超大的整数运算。创建对象BigDecimal.valueOf(2);2.常用方法add(BigDecimal bd): 做加法运算substract(BigDecimal bd) : 做减法运算multiply(BigDecimal bd) : 做乘法运算divide(BigDecimal bd) : 做除法运算divide(BigDecimal bd,保留位数,舍入方式):除不尽时使用setSc
2021-04-15 16:17:35
213
原创 Java关于Date工具类的一些知识点
1.概述存在于java.util.Date包。用来封装一个毫秒值表示一个精确的时间点。从1970-1-1 0点开始的毫秒值。2.创建对象new Date():封装的是系统当前时间的毫秒值new Date(900000000000L):封装指定的时间点3 .常用方法getTime():取内部毫秒值setTime():存取内部毫秒值getMonth():获取当前月份getHours():获取当前小时compareTo(Date):当前对象与参数对象比较。当前对象大返回正数,小返回负数,
2021-04-15 15:51:57
362
原创 Java关于String、StringBuilder和StringBuffer的一些知识点
String类里的一些方法在面试中经常被问到,下面列举一些String类的常用方法import java.util.Arrays; //测试 String工具类 public class Test6 { public static void main(String[] args) { //1,创建对象 String s = new String();//触发无参构造 char[] value = {'h','e','l','l','o'} ; St
2021-04-15 11:55:20
116
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人