🐧Java基础
文章平均质量分 80
Java技术的核心和基础
共饮一杯无
CSDN内容合伙人,杭州开发者社区主理人,Java领域优质创作者,2022年度博客之星TOP15,CSDN博客专家,51CTO 专家博主,华为云享专家,阿里云专家博主,InfoQ专家博主,持续输出干货,欢迎关注。
鲜衣怒马意气风发,愿你归来仍是少年。
展开
-
Java给定一些元素随机从中选择一个
这种方法会将列表中的元素顺序打乱,然后返回第一个元素,由于shuffle操作是随机的,所以第一个元素实际上就是随机选择的。需要注意的是,Collections.shuffle方法会改变原列表的顺序,如果不想修改原始列表,可以在shuffle之前创建一个新列表的副本。这个实现看起来优雅展示了如何使用Stream API,但是应该注意,对于简单的随机选择操作,直接使用Random类生成索引并访问列表可能更为直接和高效。原创 2024-07-24 09:09:34 · 1491 阅读 · 0 评论 -
定时任务Cron表达式详解
CronTrigger,你可以指定触发的时间表如“每星期五中午”,或“每个工作日9:30时”,甚至“每5分钟一班9:00和10:00逢星期一上午,星期三星期五“。(4)“L” 字符仅被用于天(月)和天(星期)两个子表达式,它是单词“last”的缩写,但是它在两个子表达式里的含义是不同的。例如:子表达式(天(星期))可以为 “MON-FRI”,“MON,WED,FRI”,“MON-WED,SAT”,“在子表达式(分钟)里的“3/20”表示从第3分钟开始,每20分钟(它和“3,23,43”)的含义一样。原创 2024-07-09 12:37:51 · 2545 阅读 · 3 评论 -
Windows通过nvm下载安装node和npm
如果下载node过慢或者安装失败,请更换国内镜像源, 在 nvm 的安装路径下,找到 settings.txt,设置node_mirro与npm_mirror为国内镜像地址。,是一个nodejs的版本管理工具。nvm和n都是node.js版本管理工具,为了解决node.js各种版本存在不兼容现象可以通过它可以安装和切换不同版本的node.js。删除指定版本的nodejs,删除时需要明确指定对应的小版本。使用指定版本的nodejs指定使用node版本。安装指定的版本的nodejs。初次安装查看前需要先通过。原创 2024-07-04 19:54:13 · 4543 阅读 · 1 评论 -
Window下载安装Gradle和在Idea中使用
它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置,目前也增加了基于Kotlin语言的kotlin-based DSL,抛弃了基于XML的各种繁琐配置。Gradle是一个基于JVM的构建工具,是一款通用灵活的构建工具,支持maven, Ivy仓库,支持传递性依赖管理,而不需要远程仓库或者是pom.xml和ivy.xml配置文件,基于Groovy,build脚本使用Groovy编写。当前其支持的语言C++、Java、Groovy、Kotlin、Scala和Swift,计划未来将支持更多的语言。原创 2024-07-04 09:21:46 · 1026 阅读 · 0 评论 -
多线程原理和常用方法以及Thread和Runnable的区别
多线程好处:多线程执行时,在栈内存中,其实每一个执行线程都有一片自己所属的栈内存空间,多个线程互不影响 进行方法的压栈和弹栈。也可以说两个线程,一个main线程 一个run线程 一起请求CPU的执行权(执行时间)谁抢到了就执行对应的代码。CPU有了两条执行的路径,CPU就有了选择 ,一会执行main方法 一会执行run方法。一个类只能继承一个类(一个人只能有一个亲爹),类继承了Thread类就不能继承其他的类。实现了Runnable接口,还可以继承其他的类,实现其他的接口。本文内容到此结束了,原创 2023-12-01 22:53:18 · 4908 阅读 · 14 评论 -
Java流处理之序列化和打印流
Java 提供了一种对象序列化的机制。用一个字节序列可以表示一个对象,该字节序列包含该对象的数据对象的类型和对象中存储的属性等信息。字节序列写出到文件之后,相当于文件中持久保存了一个对象的信息。反之,该字节序列还可以从文件中读取回来,重构对象,对它进行反序列化。对象的数据对象的类型和对象中存储的数据信息,都可以用来在内存中创建对象。平时我们在控制台打印输出,是调用print方法和println方法完成的,这两个方法都来自于类,该类能够方便地打印各种数据类型的值,是一种便捷的输出方式。原创 2023-12-01 22:09:40 · 1198 阅读 · 10 评论 -
Java8中Lambda函数式编程详解
在数学中,函数就是有输入量、输出量的一套计算方案,也就是“拿什么东西做什么事情”。相对而言,面向对象过分强调“必须通过对象的形式来做事情”,而函数式思想则尽量忽略面向对象的复杂语法——强调做什么,而不是以什么形式做。面向对象的思想做一件事情,找一个能解决这个事情的对象,调用对象的方法,完成事情.函数式编程思想只要能获取到结果,谁去做的,怎么做的都不重要,重视的是结果,不重视过程。原创 2023-11-23 13:46:17 · 4689 阅读 · 19 评论 -
Java实现RSA加密和验证
RSA是一种强大且多用途的加密算法,广泛应用于网络通信、数据安全、数字签名、身份验证和加密存储等领域。然而,需要注意的是,RSA的性能较低,特别是对于长消息,因此在某些情况下,可能需要与对称加密算法结合使用,以提高性能。原创 2023-10-10 14:10:40 · 7862 阅读 · 8 评论 -
Java异常体系和分类
异常,就是不正常的意思。在Java等面向对象的编程语言中,异常本身是一个类,产生异常就是创建异常对象并抛出了一个异常对象。包含了异常的类型,异常的原因,还包括异常出现的位置,在开发和调试阶段,都得使用printStackTrace。我们平常说的异常就是指Exception,因为这类异常一旦出现,我们就要对代码进行更正,修复程序。异常指的并不是语法错误,语法错了,编译不通过,不会产生字节码文件,根本不能运行.出现异常,不要紧张,把异常的简单类名,拷贝到API中去查。程序中的问题,异常的根类是。原创 2022-10-12 11:05:02 · 248 阅读 · 1 评论 -
Cookie和Session详解
服务器端会话技术,在一次会话的多次请求间共享数据,将数据保存在服务器端的对象中。基于响应头set-cookie和请求头cookie实现。Session的实现是依赖于Cookie的。客户端会话技术,将数据保存到客户端。:一次会话中包含多次请求和响应。如有错误❌疑问💬欢迎各位指出。本文内容到此结束了,原创 2022-10-11 10:16:38 · 295 阅读 · 13 评论 -
多线程基本概念(并发与并行、线程与进程)和入门案例
同理,线程也是一样的,从宏观角度上理解线程是并行运行的,但是从微观角度上分析却是串行运行的,即一个线程一个线程的去运行,当系统只有一个CPU时,线程会以某种顺序执行多个线程,我们把这种情况称之为线程调度。对于CPU的一个核而言,某个时刻,只能执行一个线程,而 CPU的在多个线程间切换速度相对我们的感觉要快,看上去就是在同一时刻运行。,所有的线程对象都必须是Thread类或其子类的实例。优先让优先级高的线程使用 CPU,如果线程的优先级相同,那么会随机选择一个(线程随机性),Java使用的为抢占式调度。原创 2022-10-10 10:49:00 · 544 阅读 · 0 评论 -
网络知识之跨区域网络的通信
TCP/IP协议族的一个子协议,用于IP主机向任一个直接相邻的路由器报告他们的组成员情况。地址解析协议是建立在网络中各个主机互相信任的基础上的,局域网络上的主机可以自主发送ARP应答消息,其他主机收到应答报文时不会检测该报文的真实性就会将其记入本机ARP缓存;该命令能够查看本地计算机或另一台计算机的arp高速缓存中当前的内容,也可以使用该命令用人工方式数输入静态的网卡物理/IP地址对,通常会使用这种方式为默认网关和本地服务器等常用主机进行设置,有助于减少网络上的信息量,最常用的。原创 2022-09-28 11:49:39 · 2391 阅读 · 14 评论 -
部署基于Alibaba Dragonwell的Java运行环境
Java编译到字节码后,无法直接被硬件执行,需要运行在托管式的运行时环境,因此我们需要选择一个JRE(Java Runtime Environment)来运行Java程序。Alibaba Dragonwell是OpenJDK的下游,提供了OpenJDK的所有能力,并且通过AdoptOpenJDK社区进行构建发布,提供高质量的经过测试验证的JDK发行版。原创 2022-09-06 15:47:56 · 1921 阅读 · 0 评论 -
Java中的BigDecimal比较大于小于等于,四舍五入保留几位(setScale方法详解),加减乘除取余
本文主要讲解BigDecimal的比较运算,保留精度和取整和基础运算,BigDecimal与其他数据类型转换。比较num1是否大于num2比较num1是否小于num2比较num1是否大于等于num2比较num1是否小于等于num2比较num1是否等于num2保留精度及取整核心主要是 方法。主要是两个参数:取整时第一个参数为0,第二个为取舍模式。各个roundingMode详解如下:四舍五入保留几位小数指定取舍规则,保留几位小数基础运算主要是以下方法:加:减:乘:除:取余原创 2022-06-17 16:11:16 · 11366 阅读 · 0 评论 -
SpringBoot的约定优于配置,SpringBoot解决了哪些问题?
Build Anything with Spring Boot: Spring Boot is the starting point forbuilding all spring-based applications. Spring Boot is designed to get you upand running as quickly as possible,with minimal upfront configuration ofSpring.原创 2022-05-27 22:39:10 · 14897 阅读 · 0 评论 -
Java网络编程之InetAddress类详解,URL和URI的区别,URLDecoder和URLEncoder,IPv6和IPv4区别,IPv6的三种表示方法
Java网络编程之InetAddress类详解,URL和URI的区别,URLDecoder和URLEncoder,IPv6和IPv4区别,IPv6的三种表示方法原创 2022-05-25 16:03:45 · 5609 阅读 · 3 评论 -
Spring JdbcTemplate使用详解
Spring框架对JDBC的简单封装。提供了一个JDBCTemplate对象简化JDBC的开发。原创 2022-05-17 13:04:09 · 4421 阅读 · 1 评论 -
数据库连接池入门(c3p0、Druid)
数据库连接池其实就是一个容器(集合),存放数据库连接的容器。当系统初始化好后,容器被创建,容器中会申请一些连接对象,当用户来访问数据库时,从容器中获取连接对象,用户访问完之后,会将连接对象归还给容器。原创 2022-05-17 06:00:00 · 5220 阅读 · 0 评论 -
Java中的JDBC详解
Java中的JDBC详解原创 2022-05-16 12:43:13 · 8499 阅读 · 0 评论 -
Java把文件压缩成.zip压缩包和解压.zip压缩包(ZipOutputStream、ZipInputStream)
Java把文件压缩成.zip压缩包和解压.zip压缩包(ZipOutputStream、ZipInputStream)原创 2022-05-14 12:48:06 · 7906 阅读 · 0 评论 -
Base64码常见操作(url链接文件转base64编码、本地文件转base64编码等)
Base64码常见操作(url链接文件转base64编码、本地文件转base64编码等)原创 2022-05-13 18:18:16 · 8234 阅读 · 0 评论 -
nginx安装和配置详解
nginx安装和配置详解原创 2022-05-09 06:00:00 · 10263 阅读 · 1 评论 -
AJAX和JSON详解
AJAX和JSON详解原创 2022-05-08 06:00:00 · 12252 阅读 · 0 评论 -
一文深入JQuery
动画三种方式显示和隐藏元素默认显示和隐藏方式滑动显示和隐藏方式淡入淡出显示和隐藏方式遍历js的遍历方式jq的遍历方式jq对象.each(callback)$.each(object, [callback])for..of: jquery 3.0 版本之后提供的方式事件绑定jquery标准的绑定方式on绑定事件/off解除绑定事件切换:toggle案例广告显示和隐藏抽奖插件:增强JQuery的功能原创 2022-05-07 09:11:47 · 7699 阅读 · 0 评论 -
一文入门jQuery
jQuery是一个快速、简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(或JavaScript框架)。jQuery设计的宗旨 是“write Less,Do More”,即倡导写更少的代码,做更多的事情。它封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优 化HTML文档操作、事件处理、动画设计和Ajax交互。原创 2022-05-06 06:30:00 · 7790 阅读 · 1 评论 -
Java中的Request和Response详解
Request对象和Response对象的原理Request和Response对象是由服务器创建的。我们来使用它们Request对象是来获取请求消息,Response对象是来设置响应消息。原创 2022-05-05 06:00:00 · 8733 阅读 · 3 评论 -
常见的http请求参数和响应参数,前后端交互参数说明
前后端交互请求头响应头和提交和回执参数说明。原创 2022-05-05 06:00:00 · 23831 阅读 · 1 评论 -
Servlet详解
Servlet(Server Applet)是Java Servlet的简称,称为小服务程序或服务连接器,用Java编写的服务器端程序,具有独立于平台和协议的特性,主要功能在于交互式地浏览和生成数据,生成动态Web内容。狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet接口的类,一般情况下,人们将Servlet理解为后者。Servlet运行于支持Java的应用服务器中。从原理上讲,Servlet可以响应任何类型的请求,但绝大多数情况下Servlet只用原创 2022-05-04 05:45:00 · 4198 阅读 · 0 评论 -
web服务器软件:Tomcat入门(window安装和配置Tomcat)
web服务器软件:Tomcat入门(window安装和配置Tomcat)原创 2022-05-04 06:00:00 · 10375 阅读 · 0 评论 -
数据存储和传输文件之XML使用和解析详解
概念:Extensible Markup Language 可扩展标记语言语法基本语法快速入门组成部分文档声明指令:结合css的标签:标签名称自定义的属性文本约束:规定xml文档的书写规则分类:DTDSchema解析:操作xml文档,将文档中的数据读取到内存中操作xml文档解析xml的方式xml常见的解析器Jsoup快速入门代码对象的使用:Jsoup:工具类,可以解析html或xml文档,返回DocumentDocu原创 2022-05-01 12:23:25 · 6403 阅读 · 0 评论 -
深入JavaScript之BOM、DOM和事件
BOM概念对象组成Window:窗口对象方法与弹出框有关的方法与打开关闭有关的方法与定时器有关的方式属性获取其他BOM对象获取DOM对象特点Location:地址栏对象创建(获取):方法:属性History:历史记录对象创建(获取):方法:属性DOM概念W3C DOM 标准被分为 3 个不同的部分:核心DOM模型Document:文档对象创建(获取):在html dom模型中可以使用window对象来获取方法:Element:元素对象获取/创建:通过d原创 2022-05-01 11:00:38 · 8124 阅读 · 0 评论 -
一文入门JavaScript
JavaScript一门客户端脚本语言- 运行在客户端浏览器中的。每一个浏览器都有JavaScript的解析引擎- 脚本语言:不需要编译,直接就可以被浏览器解析执行了原创 2022-05-03 06:00:00 · 7502 阅读 · 0 评论 -
CSS:页面美化和布局控制
CSS全称 Cascading Style Sheets 层叠样式表层叠:多个样式可以作用在同一个html的元素上,同时生效原创 2022-05-02 05:00:00 · 7936 阅读 · 0 评论 -
HTML概念和相关标签指南
HTML最基础的网页开发语言,全称Hyper Text Markup Language 超文本标记语言。● 超文本:超文本是用超链接的方法,将各种不同空间的文字信息组织在一起的网状文本。● 标记语言: 由标签构成的语言。<标签名称> 如 html,xml;标记语言不是编程语言。原创 2022-05-02 06:00:00 · 9679 阅读 · 0 评论 -
Java注解详解以及如何实现自定义注解
概念:说明程序的。给计算机看的注释:用文字描述程序的。给程序员看的定义:注解(Annotation),也叫元数据。一种代码级别的说明。它是JDK1.5及以后版本引入的一个特性,与类、接口、枚举是在同一个层次。它可以声明在包、类、字段、方法、局部变量、方法参数等的前面,用来对这些元素进行说明,注释。原创 2022-04-30 16:00:08 · 8192 阅读 · 4 评论 -
Java反射:框架设计的灵魂
框架:半成品软件。可以在框架的基础上进行软件开发,简化编码。反射就是把Java类中的各个成员映射成一个个的Java对象。 即在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法; 对于任意一个对象,都能调用它的任意一个方法和属性。这种动态获取信息及动态调用对象方法的功能叫Java的反射机制。好处:1. 可以在程序运行过程中,操作这些对象。1. 可以解耦,提高程序的可扩展性。原创 2022-04-30 10:36:11 · 4816 阅读 · 0 评论 -
Junit单元测试
测试分类:- 黑盒测试:不需要写代码,给输入值,看程序是否能够输出期望的值。- 白盒测试:需要写代码的。关注程序具体的执行流程。JUnit 是一个 Java 编程语言的单元测试框架。JUnit 在测试驱动的开发方面有很重要的发展,是起源于 JUnit 的一个统称为 xUnit 的单元测试框架之一。原创 2022-05-01 06:30:00 · 8716 阅读 · 0 评论 -
Java8中的函数式接口详解(Supplier、Consumer、Predicate、Function)
@FunctionalInterface代码案例@FunctionalInterface生产型接口Supplier代码案例Supplier消费型接口Consumer代码案例Consumer代码案例Consumer_andThen判断型接口Predicate代码案例Predicate代码案例Predicate_and代码案例Predicate_or代码案例Predicate_negate类型转换接口Function代码案例Function代码案例Function_andThen原创 2022-05-01 07:00:00 · 5739 阅读 · 1 评论 -
Java网络编程之实现文件上传
🐱文件上传分析图解😺基本实现😹文件上传优化分析😿优化实现🙈信息回写分析图解🙉回写实现原创 2022-04-30 06:00:00 · 7045 阅读 · 1 评论 -
Java网络编程之通过代码实现Socket通信
概述Socket类构造方法成员方法ServerSocket类构造方法成员方法简单的TCP网络程序TCP通信分析图解客户端向服务器发送数据服务器向客户端回写数据原创 2022-04-30 06:00:00 · 8804 阅读 · 1 评论