自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

夏日清风

个人见解与经验之谈,欢迎指正讨论

  • 博客(44)
  • 资源 (1)
  • 问答 (1)
  • 收藏
  • 关注

原创 Java集合类详解:概述、优点、实现与应用

Java集合类提供了动态存储、高效的数据访问和操作等特性,大大简化了开发过程并提高了代码效率。本文将从多个方面详细介绍Java集合类的概念、基本结构、常见实现、操作方法以及性能优化和扩展,帮助读者全面掌握和应用这一关键工具。

2023-06-13 22:14:00 995

原创 Java Stream API: 如何优雅地操作集合类

本文介绍了Java Stream API的概念及其常见的操作。Stream API为集合操作提供了一种优雅、高效的编程方式,可以大大简化代码的编写和维护,并且支持并行化处理,提升数据处理的效率。

2023-06-12 21:58:54 1201

原创 Java中transient关键字的详细总结

一、概要介绍Java中的transient关键字,transient是短暂的意思。对于transient 修饰的成员变量,在类实例的序列化处理过程中会被忽略。 因此,transient变量不会贯穿对象的序列化和反序列化,生命周期仅存于调用者的内存中而不会写到磁盘里持久化。(1)序列化Java中对象的序列化指的是将对象转换成以字节序列的形式来表示,这些字节序列包含了对象的数据和信息,一个序列化后的对...

2018-06-14 22:15:12 126321 13

原创 Java volatile关键字最全总结:原理剖析与实例讲解(简单易懂)

本文从Java的内存模型和线程的工作原理出发,对volatile关键字进行介绍。帮助读者深入理解volatile的工作机制。同时,还通过简单易懂的示例讲解了如何正确地使用volatile关键字实现线程安全,避免常见的多线程安全问题。

2018-06-13 17:28:14 205099 144

原创 Java中各类修饰符的使用总结(看完这篇就够了)

引言:Java的修饰符根据修饰的对象不同,分为类修饰符、方法修饰符、变量修饰符,其中每种修饰符又分为访问控制修饰符和非访问控制修饰符。访问控制存在的原因:a、让客户端程序员无法触及他们不应该触及的部分 b、允许库设计者可以改变类内部的工作方式而不用担心影响到客户端程序员。

2018-06-07 18:45:24 59212 21

原创 Java如何从字符串中提取数字

java提取字符串中的数字

2017-12-19 13:56:14 114209 10

原创 初识23种设计模式:分类、原理与实际应用

本文深入剖析了软件开发中至关重要的23种设计模式,涵盖了创建型、结构型和行为型三大类别。通过简明扼要的原理介绍、作用阐述及具体使用场景分析,帮助读者全面理解并掌握这些设计模式的精髓。无论你是初涉软件开发的新手,还是经验丰富的工程师,本文都将为你提供宝贵的参考与启示,助力你打造出更加健壮、灵活且易于维护的软件系统。

2024-04-08 19:32:19 935

原创 IntelliJ IDEA快捷键大全(中英文对照):提升编程效率的必学秘籍!

本博客介绍了IDEA的各类快捷键,从基础的文件操作、代码编辑到高级的调试和版本控制功能。通过本文,你将学会如何更快速地完成代码编写、代码格式化、代码导航、代码调试等任务。这些快捷键将帮助你在IDEA中更加游刃有余,提升编程效率。

2024-03-04 16:12:58 496

原创 Java设置session过期时间的几种方法(亲测有效)

本文介绍了Java中如何设置Session会话对象的过期时间。首先介绍了Session的基本概念和过期时间的意义,然后给出了配置Session的过期时间的四种方法

2024-01-08 19:36:32 1913

原创 深入理解Java抽象类:定义、特点与实现

本文将深入介绍Java抽象类的定义、特点以及与普通类的区别,探讨抽象类的实现原理、与接口的区别,讨论抽象类的应用场景和优缺点。

2023-06-02 22:42:55 507

原创 一文读懂JAVA的hashCode方法:原理、实现与应用

本文详细介绍了hashCode的作用和定义、实现原理和重写规则、常见的hashCode实现方法以及hashCode和equals的联系,可以帮助开发者们深入理解和使用hashCode方法。

2023-04-22 21:57:15 596 1

原创 深入解析Java中的==和equals方法:如何正确比较对象

本篇博客深入探讨了Java中的"=="和"equals"方法,介绍了它们的概念、原理、代码示例和区别,并给出了适用场景和如何覆盖equals方法的建议。可以帮助读者更好地应用Java中的==和equals方法。

2023-04-15 16:42:18 554

原创 走进Java:JDK和JRE分别是什么?它们有什么区别?

一文带你了解JDK 和 JRE 分别是什么?有什么作用?它们之间有什么区别

2023-04-10 22:55:21 676

原创 如何正确实现JAVA对象拷贝:深入剖析拷贝机制,避免“拷”入歧途

本篇博客将讲解深拷贝和浅拷贝的区别,介绍JAVA对象拷贝的实现方式,以及详细阐述对象拷贝的激活机制,并提供代码示例。希望你能从本文中获得有价值的知识和经验。

2023-04-06 21:58:17 469

原创 Java如何使用Spring JdbcTemplate向in语句中传递参数

Java如何使用Spring JdbcTemplate和NamedParameterJdbcTemplate向in语句中传递参数

2023-02-02 16:23:05 3822

原创 JAVA遍历Map的几种方法

介绍JAVA遍历Map的几种方式,分析几种方式的性能优劣,给出使用建议

2022-10-21 19:37:21 23195 1

原创 Linux系统中如何修改时间和时区

修改linux系统时区和时间

2021-01-06 17:08:41 8981

原创 Linux系统与Tomcat时区不一致的解决方法总结(全)

问题:通常情况下,我们会遇到linux系统时区与其上部署的tomcat时区不一致的问题。最常见的是系统时间为正常的CST中国标准时区(东八区),而tomcat日志时间却比系统时间慢了8个小时。一、准备工作在将解决问题之前,首先要确定系统当前时间是正确的。这里可以通过linux的date命令查看当前时间及时区。1. 如果结果与本地时间或自己想要的效果一致 这种情况可以确定问题是出在tomcat上。可以通过步骤二中所列方法进行解决。2. 如果结果与本地时间或自己想要的效果不一致...

2021-01-06 16:13:59 4367 4

原创 Linux中如何释放交换空间swap

一、Linux内存机制简单介绍 直接从物理内存读写数据要比从硬盘读写数据要快的多(硬盘磁道寻址),因此,我们希望所有数据的读写都在内存完成,但是内存大小是有限的,并且内存价格高于硬盘价格,于是就有了物理内存与虚拟内存的概念。物理内存:系统硬件提供的内存大小,是真正的内存,可用 free -h 查看内存的使用情况。交换内存Swap:交换内存swap是linux下一个虚拟内存的概念,它是利用磁盘空间虚拟出的一块逻辑内存,用于解决物理内存容量不足的问题。可查看swapon -s查看交换内存的...

2020-12-30 10:31:44 13634 1

原创 npm如何设置代理和镜像

由于网络原因,使用npm下载nodejs依赖包时,经常会出现下载失败的情况,这里就需要设置镜像和代理。现将具体操作总结如下:一、设置镜像1.npm设置镜像npm config set registry=镜像地址//设置阿里镜像npm config set registry=https://registry.npm.taobao.org2.npm取消镜像npm config delete registry3.npm查看镜像信息npm config get

2020-12-22 15:24:19 5919

原创 npm安装下载依赖包失败的问题

使用npm下载nodejs依赖包时,会出现下载失败,可以使用如下方法解决:1. npm默认的镜像地址为国外镜像地址npm config get registry# http://registry.npmjs.org 为国外镜像地址从国外镜像地址下载依赖包时,速度很慢甚至会出现异常。因此可以将npm的镜像地址改为国内镜像,阿里镜像:https://registry.npm.taobao.orgnpm config set registry https://registry.npm.tao

2020-12-22 15:16:36 3901

原创 Java 实现JSON字符串、JSON对象和Java对象的相互转换(fastjson)

一、准备工作 定义三个json字符串用于以下测试://json字符串-简单对象String jsonStr = "{\"studentName\":\"张三\",\"studentAge\":18}";//json字符串-数组类型String jsonArrStr = "[{\"studentName\":\"张三\",\"studentAge\":18},{\"studentName\":\"李四\",\"studentAge\":17}]";//json字符串-复杂对象Strin.

2020-11-11 10:34:33 17708 6

原创 Linux系统中MySQL数据库主从搭建(步骤详细、零基础教学)

一、在线安装MySQL数据库wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpmsudo rpm -ivh mysql-community-release-el7-5.noarch.rpmsudo yum updatesudo yum install mysql-serversudo systemctl start mysqld二、离线安装MySQL数据库一般来说,如果是公司的生产环境,与外网是不连通的,

2020-11-03 19:19:55 4647 1

原创 Mysql中查看用户、创建用户、删除用户、授权用户、回收授权

一、创建用户1.语法 查看用户没有直接的SQL语句,需要进入 mysql数据库的user表(mysql库和user表是mysql安装后就有的)查看所有用户信息。代码如下:use mysql;select * from user;2. 结果示例:3.注意事项 5.7版本后,移除了password字段, 而是改成了字段authentication_string来存储用户密码。二、创建用户1.语法CREATE USER 'user_name'@'...

2020-10-30 15:51:15 7766

原创 Linux系统中修改/etc/sysctl.conf后,如何立即生效

/etc/sysctl.conf是系统控制文件,主要用于用于运行时配置内核参数等系统信息,它的内容全部对应于/proc/sys/目录及其子目录。修改完sysctl.conf中配置信息后,有以下两种方法使其生效:(1)重启机器reboot。但是一般不推荐,因为可能机器上正在运行的程序(2)使用如下命令刷新配置,使其立即生效。/sbin/sysctl -p /sbin/sysctl -w net.ipv4.route.flush=1...

2020-10-20 16:27:59 21468 1

原创 Java设计模式之单例模式(实现、应用的详细总结)

一、单例模式简介 单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种设计模式属于创建型模式,它提供了一种创建对象的最佳方式。单例模式类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。1.单例模式的定义 单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例的访问方法。在计算机系统中,线程池、缓存、日志对象、对话框、打印机、显卡的驱动程序对象常被设...

2020-09-09 15:40:34 655

原创 Spring boot项目Fortify漏洞扫描问题解决

一、背景 前段时间公司使用Fortify工具对项目源码进行安全漏洞扫描,结果报出Dynamic Code Evaluation: Unsafe Deserialization漏洞。整个项目是基于Spring boot框架开发的。二、问题源 Fortify工具明确指出该安全漏洞是由于引入了Spring Boot Actuator依赖导致的<dependency><groupId>org.springframework.boot</grou...

2020-09-01 20:22:49 4782 5

原创 Java异常分类总结及try...catch异常捕获处理

一、异常简介Java中所有异常的根是Throwable类。该类有两个子类: Error和Exception。1.Error类 Error也称为错误,通常是由JVM错误或者系统奔溃等引起的,无法通过程序来解决,所以在程序中不需要主动捕捉处理。2.Exception类 Exception类又可以分为Checked异常和Runtime异常。checkedException异常在编译时期就可以知道是否会发生异常,如果不对这些异常进行抛出、捕获的话就无法通过编译。而RuntimeExc...

2020-09-01 20:02:12 5667

原创 Maven依赖冲突的几种有效解决方法总结

一、问题描述 在项目开发中使用Maven管理Jar包时,常常会遇到Jar包依赖冲突。其根本原因是不同Jar包引用了同一Jar包的不同版本,从而在代码调用时,无法确定使用的是哪个版本的Jarba包。二、解决办法 解决这一问题的方法有多种,按照思路分为总结如下:1、第一声明原则 在pom.xml配置文件中,如果有两个名称相同,版本的不同依赖声明,先写的会生效,所以先声明自己要用的版本。这里的名称相同,版本不同的依赖声明,既可以是直接依赖,也可以是传递依赖。例如,b引...

2020-07-20 19:26:04 4051 2

原创 如何将本地Jar包添加到本地的Maven仓库

一、问题描述项目开发过程中,经常遇到项目缺少依赖的问题。这些Jar包无法从远程仓库中下载,究其原因有以下几点:(1)依赖的Jar包是与该项目关联的公司其他项目(2)依赖的Jar包是其他公司开发,并未发布到远程仓库(3)网络原因导致从远程仓库中无法下载Jar包二、解决方案需要将依赖的Jar包从其他途径下载到本地,然后添加到本地仓库。这样在每次构建项目就能够从本地加载到依赖的Jar包。三、操作方法1.打开命令行cmd窗口2.执行mvn install以阿里的oceanba

2020-07-16 19:31:51 6187 2

原创 深入理解Java中synchronized关键字的实现原理

9.synchronized的底层实现原理(1)对象大小的计算a. 在32位系统下,存放Class指针的空间大小是4字节,MarkWord是4字节,对象头为8字节。b. 在64位系统下,存放Class指针的空间大小是8字节,MarkWord是8字节,对象头为16字节。c. 64位开启指针压缩的情况下,存放Class指针的空间大小是4字节,MarkWord是8字节,对象头为12字节。 数组长...

2019-10-22 14:35:08 1504

原创 Java同步锁synchronized的最全总结

一、并发同步问题  线程安全是Java并发编程中的重点,而造成线程安全问题的主要原因有两点,一是存在共享数据(也称临界资源),二是存在多条线程共同操作共享数据。因此,当存在多个线程操作共享数据时,需要保证同一时刻有且只有一个线程在操作共享数据,其他线程必须等到该线程处理完数据后再进行,这种方式就叫互斥锁。也就是说当一个共享数据被正在访问的线程加上互斥锁后,在同一个时刻,其他线程只能处于等待的状态...

2019-10-22 14:32:05 5918

原创 如何使用Latex的bib生成网络资源参考文献

一、网络资源参考文献的格式在论文撰写过程中,如果需要引用网络资源作为参考文献,则参考文献的格式如下: [作者] [标题] [访问路径]其中作者表示的是网络资源的提供者或构建者,标题是网络资源的概括,年份是网络资源最近更新的时间,访问路径是网络资源的URL地址。二、网络资源的的bib格式(1)英文论文在引用网络资源时,一般使用@misc类型标签:@misc{引用...

2019-10-09 17:52:14 14481

原创 Java中操作符分类与使用总结(看完这篇就够了)

一、算术操作符Java的算术操作符包括四则运算,加(+)、减(-)、乘(*)、除(/)以及取余(%)。(1)"+" 除了用于两个数的加法之外,还可以用于拼接字符串。即如果String类型元素与非String类型元素使用"+"连接,则编译器会尝试将后者转换为字符串。 System.out.println("a+b:" + (a+b)); //其中a和b是一个数值类型的变量(2...

2019-09-10 16:11:51 601 2

原创 深入理解Java内存回收机制

JVM通过GC(Garbage Collection,垃圾回收器)来回收堆和方法区中的内存,这个过程是自动执行的。说到Java GC机制,其主要完成3件事:确定哪些内存需要回收;确定什么时候需要执行GC;如何执行GC。JVM主要采用回收器的方式实现GC,主要的回收器有引用计数回收器和跟踪回收器。一、引用计数回收器(1)引用计数器采用分散式管理方式,通过计数器记录对象是否被引用。当计数器为0...

2019-09-10 15:01:04 4562

原创 Java中this和super关键字的深入理解

一、this关键字(1)本质编译器在调用某个实例方法时,实际上会把当前的实例对象的引用作为第一个参数传递给方法,例如经过编译器的处理,分别变成Animal.weight(pig,300)、Animal.weight(dog,100)。而如果想从方法内部获取当前对象的引用,就有一个专门的关键字this,表示“调用方法的那个对象”的引用(如pig和dog)。(2)this的含义 1.在Java中,每...

2018-06-14 22:23:35 1493

原创 Java中的final、finally、finalize的区别

声明:本文只是简单介绍了三者之间的区别,三者的详细用法参见本人的其他文章。# 深入理解Java的final关键字# 浅析java的finally# Java 深入理解finalize()方法1. final是一个关键字,用来修饰变量、方法和类。修饰变量表示变量赋值后不可变,即常量。修饰方法表示方法不可覆盖。修饰类表示类不可继承,同时不能被abstract修饰。2. finally是异常处理结构的一...

2018-06-05 20:53:37 253

原创 Java异常处理之finally的使用总结

1.finally用法 (1)finally用在异常捕获中try/catch语句中,不论有没有发生异常或try/catch中出现return语句,finally中的语句都会被执行。 (2)finally必须使用在所有catch的最后位置,常用来处理一些后续的工作,如释放资源2.try、catch、finally中的return执行顺序 根据JVM规范,try/catch、finally的retu...

2018-06-05 20:33:15 2582

原创 深入理解Java的final关键字

1.final关键字有几种用法(1)修饰变量 # 用final关键字修饰的变量,只能进行一次赋值操作,并且在生存期内不可以改变它的值。final修饰的变量可以先声明,后赋值。 # final修饰基本类型时,起到常量的作用,基本类型的值不可变。 final修饰引用类型时,不能再指向其他的对象,但被引用的对象 的值是可以改变的(引用变量的值 实际上是它所引用的对象的地址)。 ...

2018-06-05 13:36:30 18146 1

原创 Java 深入理解finalize()方法

1. 什么是finalize()方法?, finalize()是Object的protected方法,子类可以覆盖该方法以实现资源清理工作。另外,Java 技术允许使用 finalize() 方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。2. finalize()方法什么时候被调用? 垃圾回收器GC在回收对象进行内存释放前会先调用finalize方法3. finali...

2018-06-05 13:25:40 740

世界各国和地区名称及代码(GB/T 2659-2000)

世界各国和地区名称代码为现行推荐性标准,采用了ISO、IEC等国际国外组织的标准,标准号:GB/T 2659-2000。本文档所列的国家地区中文名称和代码,依照GB/T 2659-2000 世界各国和地区名称代码确定。GB/T 2659-2000中没有的国家地区中文名称,按习惯用语给出中文名称。国家地区代码的列出了三种表现方式,具体包括: (1)两字母代码: 由两字符拉丁字母组成的代码。这种代码拥有多种用途,其中最重要的一个用途与互联网的地理级别域名有关。 (2)三字母代码: 由三字符拉丁字母组成的代码。 (3)数字代码: 由三位阿拉伯数字组成的代码。与联合国统计处定义的代码类似

2023-11-16

JAVA面试通关:100道经典JAVA面试题及答案解析

该文档是针对Java程序员的面试指南,旨在帮助求职者在面试过程中更好地应对各种问题。本书精选了互联网大厂100道经典的Java面试题目,并为每道题目提供了详细的答案解析,涵盖了Java基础知识、面向对象编程、集合框架、多线程、JVM等方面的知识点。无论您是初学者还是有经验的开发者,都可以从中受益匪浅。通过阅读本文档,您将能够更好地应对Java面试挑战,提高自己的竞争力。

2023-08-25

Introduction to SysML.pdf

用于帮助初学者系统地学习SysML语言,同时也可以作为一本工具书查看并解决系统建模过程中遇到的问题

2019-10-30

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

TA关注的人

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