自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(41)
  • 收藏
  • 关注

原创 JVM内存模型

依然存活的对象会被移送到幸存区(分为S0、S1),当YGC时候,将存活对象复制到未使用的幸存空间,将正在使用的空间完全清除,交换两块空间的使用状态,每次交换,年龄+1。由很多栈帧组成,每个栈帧由局部变量、操作数栈、动态链表和方法返回四部分组成虚拟机栈是线程私有区域,并且栈帧不允许被其他线程访问,不存在线程安全和垃圾回收问题。对象在伊甸区生成,当伊甸区填满的时候,会触发YGC,YGC垃圾回收的时候,在伊甸区实现清楚策略,没有被引用的对象直接回收。方法区、堆区、虚拟机栈、本地方法栈、程序计数器。

2024-09-27 13:03:57 931

原创 JVM垃圾收集器(重点知识)

第二步:将所有的存活的对象向一段移动,将端边界以外的对象都回收掉;堆区按照分代存储的好处:在Java堆区划分成不同区域后,垃圾收集器才可以针对不同的区域,安排与该区域存储对象存亡特征相匹配的垃圾收集算法:标记-复制算法、标记-清除算法、标记-整理算法等。在垃圾回收器线程扫描它所管辖的内存区域我的过程,一旦发现了只具弱引用的对象,不管当前内存空间足够与否,都会回收它的内存。:从GC Roots开始对堆的对象进行可达性分析,递归扫描整个堆里的对象图,找出存活的对象,这阶段耗时较长,但是可以与用户程序并发执行。

2024-09-26 11:33:58 799

原创 线程基础、状态及常用方法

什么是程序?程序是包含有计算机指令和数据的文件。什么是进程?进程是程序的一次执行过程,是计算机分配资源的最小单位。什么是线程?一个进程中会包含若干个线程,每个线程都是一个独立的执行单位。

2024-09-25 14:06:59 803

原创 线程池的执行流程、状态及类型

适用于处理CPU密集型的任务,确保CPU在长期被工作线程使用的情况下,尽可能的少的分配线程,即适用执行长期的任务。,线程池一旦被创建,就处于RUNNING状态,并且线程池中的任务数为0.该状态的线程池会接收新任务,并处理工作队列中的任务。如果线程池中不存在线程任务,则线程池会判断当前“存活的线程数”是否小于核心线程数corePoolSize;提交一个新的线程任务,线程池会在线程池中分配一个空闲线程,用于执行线程任务;如果小于核心线程数,线程池会创建一个新的线程(核心线程)去处理新线程任务;

2024-09-19 11:56:24 706

原创 Springboot的自动配置

Spring Boot 自动配置是 Spring Boot 框架的一个重要特性。它能够根据项目中引入的依赖和类路径中的资源,自动对应用进行配置,减少了开发者手动配置大量繁琐的配置文件的工作。这一特性极大地提高了开发效率,使开发者能够更加专注于业务逻辑的实现,而不是花费大量时间在基础配置上。

2024-08-18 23:48:26 705

原创 使用Java IO进行压缩文件的解析方式

Java IO库提供了对ZIP解压缩的支持,主要通过java.util.zip包中的类来实现。本文总结了对ZIP格式的文件进行解压,对RAR格式的文件进行解压,对ZIP格式的文件进行压缩。

2024-07-11 19:25:33 483 1

原创 Java小练--利用IO流将图片备份到指定目录

【代码】Java小练--利用IO流将图片备份到指定目录。

2024-04-01 14:36:27 498 1

原创 InputStream字节输入流和OutStream字节输出流

可以使用缓冲区对文件进行写入操作。使缓冲区提高文件的读取。

2024-03-28 19:37:50 1945 1

原创 JavaBean

【代码】JavaBean。

2024-03-25 15:49:02 545

原创 File文件对象

Files工具类:读取指定文件中的所有文本,将指定文本 (集合) 写入指定文件中

2024-03-19 06:00:00 417

原创 Java小练--接收用户输入的数字,判断是否为质数;输出1-100内的所有质数

Java小练--接收用户输入的数字,判断是否为质数;输出1-100内的所有质数。

2024-03-18 14:29:18 614

原创 Java小练--输入某年某月某天,判断这一天是这一年的第几天?

【代码】Java小练--输入某年某月某天,判断这一天是这一年的第几天?

2024-03-17 09:29:38 915

原创 JSP-内置对象

客户端访问服务端多个页面时,其关联session对象是不变的,其id号是相同的。getId:获取session对象的id号,该号码唯一标识一次会话。访问重定向,将客户端对当前页面的访问重新定向至新页面地址。:session对象在如下情况下,id号会发生变化。作用:用来处理服务端响应给客户端浏览器的数据。Println(string) 方法同上。设置响应给客户端浏览器的文档类型。设置响应给客户端文档的头部数据。作用:用来管理和客户端的一次会话过程。作用:用来处理客户端发送的数据。login.jsp文件。

2024-03-14 10:02:09 559

原创 方法的调用

访问修饰符[private/public] static 返回值类型 方法名称(参数){ }[访问修饰符]: 代表该方法可以使用的范围[static关键字]: 该方法通过类名调用(如果是在当前类类,可以直接调用,类名省略)[返回值类型]:该方法调用后,产生并返回的结果类型(如果没有返回值,需要使用void)[方法名称]: 按照该方法的作用,为方法命名[方法参数]: 按照该方法的作用,为方法设计参数的个数和类型方法的定义查找3个int类型参数中的最大值// 方法的定义。

2024-03-07 10:23:23 502

原创 String字符串的常见方法总结

charAt( ):找到指定的下标处对应的元素;compareTo( ):比较两个字符串的大小关系;equals( ):判断两个字符串的内容是否一模一样;indexOf():从原字符串中查找目标字符串,返回第一次出现的位置;lastIndexOf():从原字符串中查找目标字符串,返回最后一次出现的位置;contains():判断原字符串中是否存在目标字符串;satrtsWith():判断原字符串是否以目标字符串开头;replace( ):将字符串里面某个内容全部替换成指定的内容;substring( )

2024-03-04 20:49:02 521

原创 String为什么是不可变的?

String字符串类型的数据结构;每次修改,都会产生一个新的字符串

2024-03-04 15:37:16 466

原创 Java-数组常见算法代码总结

2.1.如果“中位元素”大于“目标元素”,当前数组的前半部分作为新的搜索数组,因 为后半部分的所有元素都大于“目标元素”,它们全都被排除了。2.2.如果“中位元素”小于“目标元素”,当前数组的后半部分作为新的搜索数组,因 为前半部分的所有元素都小于“目标元素”,它们全都被排除了。2.如果不相等,继续比较“中位元素”与要查找的“目标元素”的大小关系。3.Arrays工具类。

2024-03-01 13:50:52 640

原创 Java-Arrays 工具类的常见方法总结

作用:将传入的参数转换为一个固定大小的 List。参数:动态参数 T... a返回值:list举例:源代码解读: 可变参数 a,将参数 a 作为参数传递给 ArrayList 构造函数,并返回一个包装了指定数组的固定大小的列表。使用了泛型 <T> 来表示返回的列表中的元素类型,及传入的参数类型。可传入任意类型的数组。作用:Java 中用于在数组中执行二分查找的方法。在有序数组中查找目标元素。参数:a (搜索的数组) key (目标的元素)返回值:如果找到了目标元素,则返回该元素在数组中的

2024-02-29 16:02:01 1917

原创 Java-数值类型的运算方式总结

可用于交换下标通过key的hashCode()方法返回的哈希值与它的高16位进行异或运算且数组长度是2的次幂作用:计算出的hash值,在计算下标位置时,会更“散列”,减少哈希冲突。

2024-02-26 19:02:26 1743

原创 Java 无序数组中查找元素(遍历查找、双指针查找、Arrays工具类的binarysearch()方法)

遍历查找:通过对无序数组进行遍历,将数组中的每个元素与指定元素进行比较,从而确定该数字中是否存在指定元素。双指针查找:通过两个下标,分别从数组的头部和尾部,同时对该无序数组进行遍历,将数组中的每个元素与指定元素进行比较,从而确定该数字中是否存在目标数组。Arrays工具类的binarysearch()方法:该方法基于二分查找法实现,数组必须是有序状态。

2024-01-26 22:06:54 851

原创 Java 二维数组(保存方式、遍历方式)

二维数组就是“数组的数组”:保存N个一维数组,二维数组的每个数组元素的长度都不要求相同

2024-01-26 21:42:34 887

原创 Java 无序数组排序(冒泡排序)

总共比较N-1轮 每轮。* 两两比较小(大)靠前。// a< b 结果是负数。// a >b 结果是正数。// a = b 结果是零。* 比较N-1-i次。//数组相邻元素比较。例题1:一组无序数组排序。

2024-01-25 19:42:41 520

原创 Java 数组查找元素

解:定义index下标为-1;遍历要查找的元素的字符串,如果i和目标元素相等,把i存入index中,并且返回;如果目标元素是存在的输出”target存在的位置index“,否则输出"抱歉, target 不存在!例题1:查找数组中指定元素下标位置。安琪拉存在,位置是2。

2024-01-23 19:05:58 441 1

原创 Java不同方法合并数组

例题:合并int[] arr1 = {1,2,3,4,5,6};方式1:使用System.arraycopy合并数组。方式3:一个循环进行两个数组的合并。方式2:创建保存结果的目标数组。

2024-01-23 18:05:43 683 1

原创 Java 数组复制

定义一个数组numbers,把要复制的数据存入,再定义一个目标数组target,它的长度是nulbers的长度;使用System.arraycopy(),它的效率高。System.arraycopy(原数组,开始复制的位置,目标数组,开始存储的位置,复制的长度)例题2: 定义一组数组,复制前三个元素,复制所有元素,复制指定区间元素,复制后5个元素。:使用copyOf()和copyOfRange()对数组进行复制。例题1:复制 1,3,5,7,9,11,13,15,17,19。

2024-01-23 18:00:59 374 1

原创 Java通过键盘输入并保存到数组

解:先定义数组,数组中保存7个数字,对数组进行循环,把输出的数字保存到temp中;再检查保存的数字是否再1-33范围之间,如果是,结束本次循环进入下一次,如果不是输出”请输入1-33之间的数字“;再检查是否存在重复值,如果存在输出"请不要输入重复数字!因为直接输出numbers运行出的直接是数组的内存地址,所以调用Arrays.toString()方法打印数组中的数据。循环输入n个数字,并保存到数组numbers;例题2:键盘输入1-33之间不重复的7个数字。例题1:通过键盘输入n个数字,并保存到数组。

2024-01-23 17:47:28 1298 1

原创 Java数组的遍历(使用不同方式)

使用for循环遍历字符串,int i(下标),n(开始的第一个值);i要小于数组的长度,i和n都是递增的。使用Math.random()产生随机数,指定下标位置的数据设置为0。本题要解决的是把foods数组和drinks数组组合套餐问题,在遍历字符串外部定义counter(为次数),遍历两次数组,都从下标0开始,范围小于长度,i++首先定义sum和total都为0,遍历数组;分别把不完整和完整的整数存入sum和total中,输出为total-sum。方法1直接使用LocalDate.of()方法;

2024-01-22 19:24:33 412

原创 Java数组基础--打印数组

访问数组中的"元素":语法格式:数组名[下标]下标:从0开始,尾下标等于数组长度-1。

2024-01-22 18:54:36 463

原创 Java S型输出数字

for循环中:用int定义i(第一个数)、counter(次数)、line(行数)从1开始;i的值小于等于15;如果次数和3取余为0,则换行并且行号递增。否则行号和1进行&运算结果,结果为1:则为奇数行数字递增;反之为偶数行数字递减。

2024-01-22 13:20:31 372

原创 Java 字符串变形

首先获取当前字符,再单词反转,输出单词。

2024-01-22 13:08:39 425

原创 exercise1:回文数的判断

【代码】exercise1:回文数的判断。

2024-01-21 22:27:27 383

原创 遍历字符串

通过for循环对字符串进行遍历:初始条件设为i = 0,索引从0开始,循环条件为i < n.length(),当i =n.length()时,i已经超出了索引范围(0~n.length()-1),所有每次循环后要i++实现下标递增

2024-01-21 22:23:57 413

原创 Java中的Switch

使用Switch实现账单随机打折。

2024-01-21 22:09:14 411

原创 BigInteger和BigDecimal

BigInteger和BigDecimal是大型数字(通常在金融、工程、科学等等领域使用)//RoundingMode.HALF DOWN代表四舍五入。创建时,通常使用”字符串“传入”原始值“大型浮点数:BigDecimal。大型整数:BigInteger。如果使用int会溢出。

2024-01-21 21:50:50 381

原创 Integer缓存池

equals()用来比较数值是否相等。==是关系运算符比较的是内存地址。

2024-01-21 21:08:05 390

原创 Java 三元运算符

条件表达式?表达式1:表达式2

2024-01-21 21:00:42 365

原创 Java的运算

||运算: 同时为false,结果为false,否则true。&&运算: 同时为true,结果为true,否则false。向左移几位相当于n*2^几;向右移几位相当于n/2^几;整数运算时,除数不能为零;

2024-01-21 20:31:24 374

原创 引用数据类型:Integer 进行进制转换

【代码】引用数据类型:Integer 进行进制转换。

2024-01-21 10:00:21 320

原创 Java字符串String

使用 toUpperCase()、toLowerCase()进行大小写转换。使用substring()截取字符串。

2024-01-21 09:54:07 353

原创 Java基本数据类型

Java这中定义了8种数据类型。分为数值型和非数值型,数值型又分为整数类型和浮点数类型。通过"关系运算符"、"逻辑运算符"计算得到 结果为true。使用char类型强制转换成大/小写;//A的ASCII码值为65。

2024-01-21 09:39:20 547

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除