【技术积累】Java中的泛型【一】
泛型是什么
Java中的泛型是一种能够让用户在编写代码时避免使用明确的类型而进行类型参数化的机制。Java中的泛型可以让编程者在代码编写时不必关心具体类型,只用关心类型之间的关系和相互转换,从而在编写代码的过程中实现类型的复用。这使得代码更加简洁、可读性更高,并且可以提高代码的可维护性和可扩展性...[2023/6/12]
V8是如何执行JavaScript代码的?V8是如何执行JavaScript代码的?
前言
一般来讲,电脑是不能直接运行我们的javascript代码的,它需要一个翻译程序将人类能够理解的编程语言 JavaScript,翻译成机器能够理解的机器语言。目前市面上有很多种 JavaScript 引擎,诸如 SpiderMonkey、V8、JavaScriptCore 等。而由谷歌开发...[2023/6/12]
[Java SE] 彻底搞懂Java程序的三大参数配置途径:系统变量与JVM参数(VM Option)/环境变量/启动程序参数args[Java SE] 彻底搞懂Java程序的三大参数配置途径:系统变量与JVM参数(VM Option)/环境变量/启动程序参数args
0 序言
一次没搞懂,处处受影响。这个问题属于基础问题,但又经常踩坑,不得不重视一下了。
1 Java程序动态参数的配置途径:系统变量与JVM参数(VM Option) vs 环境变量 vs 启动程序参数args
IDEA中的配置位置
参数
使用方式
示例
代码获取方式
...[2023/6/9]
你是怎么学习 Java 技术的?
一、Java 语言
Java 语言不只是一门语言。
Java 学习不是一蹴而就就可以达成的,它是一个循序渐进,由浅入深,由表及里的过程。尤其需要注意的是不能有浅尝辄耻,不求甚解的态度。每个地方只抓一点,等于什么也没得到。每个小范畴内的学习都必须讲究系统性,完整性。
二、知识的获取
你...[2023/6/8]
关于建立一个Java项目全过程(专对于新手) - Evan-叶希关于建立一个Java项目全过程(专对于新手) - Evan-叶希
关于建立一个Java项目全过程
一、Java开发环境搭建
1.JDK与JRE
JDK = JRE + 开发工具集(例如Javac编译工具等)
JRE = JVM + Java SE标准类库
2.JDK的下载
下载网址(Oracle公司官网):www.oracle.com
这里链接具体下载网...[2023/6/7]
Java革命性ORM框架之快速上手的Jimmer
Jimmer是一款革命性的ORM框架,它的目标是提供一个简单易用的API,帮助开发人员更加轻松地操作数据库。Jimmer使用了Java 8的新特性,如Lambda表达式和Stream API,使得代码更加简洁、易读。本文将详细介绍Jimmer的基本用法,并提供一些Java代码案例说明。
1. ...[2023/6/7]
Dapr在Java中的实践 之 状态管理
状态管理
状态管理(State Management)使用键值对作为存储机制,可以轻松的使长时运行、高可用的有状态服务和无状态服务共同运行在我们的服务中。
我们的服务可以利用Dapr的状态管理API在状态存储组件中保存、读取和查询键值对。
状态存储组件是可插拔的,目前支持使用Azure Co...[2023/6/7]
JVM 诊断神器-Arthas实战
什么是Arthas(阿尔萨斯)
阿里开源的Java诊断工具,它可以在运行时对Java应用程序进行动态诊断和调试
当你遇到以下类似问题而束手无策时,Arthas可以帮助你解决
这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception?
我改的代码为什么没有执行到?难道...[2023/6/5]
基于Jmeter+ant+Jenkins+钉钉机器人群通知的接口自动化测试基于Jmeter+ant+Jenkins+钉钉机器人群通知的接口自动化测试
前言
搭建jmeter+ant+jenkins环境有些前提条件,那就是要先配置好java环境,本地java环境至少是JDK8及以上版本,最好是JAVA11或者JAVA17等较高的java环境,像jenkins这种持续构建工具基本都在向上兼容J...[2023/6/2]
Java并发(九)----线程join、interruptJava并发(九)----线程join、interrupt
1、join 方法详解
1.1 为什么需要 join?
下面的代码执行,打印 r 是什么?
static int r = 0;
public static void main(String[] args) throws InterruptedException {
...[2023/6/2]
JVM致命错误日志详解JVM致命错误日志详解
目录文件描述文件位置文件头错误信息记录JVM运行信息崩溃原因错误信息线程描述线程信息信号信息计数器信息机器指令内存映射信息线程堆栈其他信息进程描述线程列表虚拟机状态互斥锁/管程堆概览卡表和本地代码缓存编译事件GC事件逆向优化事件内部错误事件内存信息虚拟机参数和环境变量信号处理器系统信息操作系统内...[2023/6/2]
vue模拟el-table演示插槽用法Java大师-
vue模拟el-table演示插槽用法
很多人知道插槽分为三种,但是实际到elementui当中为什么这么用,就一脸懵逼,接下来就跟大家聊一聊插槽在elementui中的应用,并且自己写一个类似el-table的组件
vue的slot分为三种::匿名插槽,具名插槽, 作用域插槽,主要作用:...[2023/5/30]
java开发学习框架
Java基础
1.1. Java简介与安装
1.2. Java基本语法
1.3. 数据类型与变量
1.4. 运算符与表达式
1.5. 流程控制(分支与循环)
1.6. 数组
面向对象编程
2.1. 类与对象
2.2. 继承与多态
2.3. 接口与抽象类
2.4. 封...[2023/5/30]
From Java To Kotlin:空安全、扩展、函数、Lambda很详细,这次终于懂了
From Java To Kotlin, 空安全、扩展、函数、Lambda
概述(Summarize)
Kotlin 是什么?
可以做什么?
Android 官方开发语言从Java变为Kotlin,Java 有哪些问题?
Kotlin的优点
Kotlin 特性(Features)
Kotli...[2023/5/29]
javaer你还在手写分表分库?来看看这个框架怎么做的 干货满满
java orm框架easy-query分库分表之分表
高并发三驾马车:分库分表、MQ、缓存。今天给大家带来的就是分库分表的干货解决方案,哪怕你不用我的框架也可以从中听到不一样的结局方案和实现。
一款支持自动分表分库的orm框架easy-query 帮助您解脱跨库带来的复杂业务代码,并且提供...[2023/5/26]
一篇文章告诉你什么是Java内存模型
在上篇 并发编程Bug起源:可见性、有序性和原子性问题,介绍了操作系统为了提示运行速度,做了各种优化,同时也带来数据的并发问题,
定义
在单线程系统中,代码按照顺序从上往下顺序执行,执行不会出现问题。比如一下代码:
int a = 1;
int b = 2;
int c = a + b;
...[2023/5/25]
Java 泛型:理解和应用
概述
泛型是一种将类型参数化的动态机制,使用得到的话,可以从以下的方面提升的你的程序:
安全性:使用泛型可以使代码更加安全可靠,因为泛型提供了编译时的类型检查,使得编译器能够在编译阶段捕捉到类型错误。通过在编译时检查类型一致性,可以避免在运行时出现类型转换错误和 Cla CastExcep...[2023/5/25]
Java 世界的法外狂徒:反射
概述
反射(Reflection)机制是指在运行时动态地获取类的信息以及操作类的成员(字段、方法、构造函数等)的能力。通过反射,我们可以在编译时期未知具体类型的情况下,通过运行时的动态查找和调用。 虽然 Java 是静态的编译型语言,但是反射特性的加入,提供一种直接操作对象外的另一种方式,...[2023/5/22]
献给转java的c#和java程序员的数据库orm框架献给转java的c#和java程序员的数据库orm框架
献给转java的c#和java程序员的数据库orm框架
一个好的程序员不应被语言所束缚,正如我现在开源java的orm框架一样,如果您是一位转java的c#程序员,那么这个框架可以带给你起码没有那么差的业务编写和强类型体验。如果您是一位java程序员,那么该框架可以提供比Mybatis-Plus...[2023/5/22]
Java 基础知识
1. Java 语言有哪些特点
简单易学、有丰富的类库
面向对象(Java 最重要的特性,让程序耦合度更低,内聚性更高)
与平台无关性(JVM 是 Java 跨平台的根本)
可靠安全
支持多线程
2. 面向对象和面向过程的区别
面向过程:是分析解决问题的步骤,然后用按说把这些步骤一步一步的...[2023/5/22]
Javascript 常见的循环方式总结
本文地址: https: www.cnblogs.com/zichliang/p/17412968.html
在Javascript中有很多种循环方式。有多种循环方式可以用来遍历数组、对象、以及执行一些重复性任务
但是有很多方式甚至从未用过,所以简单来总结一下JS中的循环
for循环
fo...[2023/5/19]
Java程序设计复习提纲(上:入门语法)Java程序设计复习提纲(上:入门语法)
目录
上:
基本语法与编译运行
数据类型和关键字
常用语法
数组与字符串
异常处理
中:
面向对象和类
下:
图形界面
基本语法与编译运行
java没有指针没有全局变量
Java源代码文件的后缀名是".java"。编译后会生成一个或多个字节码文...[2023/5/19]
Java网络编程----通过实现简易聊天工具来聊聊BIOJava网络编程----通过实现简易聊天工具来聊聊BIO
IO模型即输入输出模型,我们今天主要来聊的是java网络编程中的IO模型---BIO模型。 BIO即阻塞式IO,Blocking IO blocking [?bl?k??] v. 堵塞; 阻塞; 堵住(某人的路等); 挡住(某人的视线等); 妨碍; 阻碍; 那究竟什么是阻塞呢? 这里的阻塞...[2023/5/17]
"树形List"与"扁平List"互转(Java实现)
背景:在平时的开发中,我们时常会遇到下列场景
公司的组织架构的数据存储与展示
文件夹层级的数据存储与展示
评论系统中,父评论与诸多子评论的数据存储与展示
......
对于这种有层级的结构化数据,就像是一棵树一样。在关系型数据库中,通常将一个个的节点信息存储到表中,通过一个字段(例如,pi...[2023/5/12]
Java的枚举类型
如果类的对象的数量只有有限个,并且可以确定对象的属性,那么考虑使用枚举类。例如:
性别:Man(男)、Woman(女)
订单状态:Nonpayment(未付款)、Paid(已付款)、Delivered(已发货)、Checked(已确认收货)
定义枚举类型
public enum UserT...[2023/5/12]
Java的抽象类 & 接口Java的抽象类 & 接口
抽象类
如果自下而上在类的继承层次结构中上移,位于上层的类更具有通用性,甚至可能更加抽象。从某种角度看,祖先类更加通用,人们只将它作为派生其他类的基类,而不作为想使用的特定的实例类。例如,考虑一下对 Employee 类层次的扩展。一名雇员是一个人,一名学生也是一个人。下面将 Person 类和...[2023/5/10]
优雅的操作文件:java.nio.file 库介绍
概述
在早期的 Java 版本中,文件 IO 操作功能一直相对较弱,主要存在以下问题:
缺乏对现代文件系统的支持:只提供的基础的文件操作,不支持很多现代的文件系统
API 不够直观:文件操作的 API 设计相对较为复杂和冗长,使用体验感很差
对于大文件处理和并发性能不够:简单的 I/O 模型...[2023/5/10]
关于如何正确地定义Java内部类方法详解
目录一. 内部类简介1. 概念2. 优点3. 分类4. 内部类的特点5. Java类的创建要求二. 成员内部类1. 概念2. 特点3. 语法4. 案例4.1 定义成员内部类4.2 定义测试类5. 访问方式小结6. 关于this的注意事项三. 局部内部类1. 概念2. 特点3. 语法4. 案例4.1 ...[2023/5/10]
JavaScript原生兼容大全-持续更新
JavaScript兼容-持续更新
1.c 非行内样式操作
currentStyle用于IE低版本 getComputed用于主流浏览器
element 目标元素 attribute 目标属性
function getStyle(element, attribute) {
ret...[2023/5/8]
JavaScript中的四种枚举方式JavaScript中的四种枚举方式
字符串和数字具有无数个值,而其他类型如布尔值则是有限的集合。
一周的日子(星期一,星期二,...,星期日),一年的季节(冬季,春季,夏季,秋季)和基本方向(北,东,南,西)都是具有有限值集合的例子。
当一个变量有一个来自有限的预定义常量的值时,使用枚举是很方便的。枚举使你不必使用魔法数字和字...[2023/5/8]
JavaScript统计数组中相同的数量的方法总结
目录实现方法使用方法测试方法结论 在JavaScript中,我们经常需要对数组中对象的属性进行统计。例如,我们可能有一个包含产品名称和数量的数组,我们需要统计每个产品名称出现的次数,并将其数量相加。在本文中,我们将介绍如何使用JavaScript来实现这一功能。
实现方法
我们可以使用red...[2023/5/8]
一种新的日期处理方式之JavaScript Temporal API
目录Temporal API 的特点1. 更好的精度2. 处理时区问题3. 更好的国际化支持Temporal API 中的类Temporal API 中的函数总结 Temporal API 的特点
1. 更好的精度
与JavaScript内置的Date对象相比,Temporal API提供了...[2023/5/8]
关于Javascript中值得学习的特性总结
目录可选链操作符(Optional Chaining Operator)空值合并运算符(Nullish Coalescing Operator)Promise.allSettled()BigInt类型 可选链操作符(Optional Chaining Operator)
可选链操作符允许我们在一...[2023/5/8]
Java代码读取properties配置文件Java代码读取properties配置文件
读取properties配置文件
package com.easycrud.utils;
import java.io.IOException;
import java.io.InputStream;
import java.util.Iterator;
import java.util.Ma...[2023/5/4]
Java SE 20 新增特性
Java SE 20 新增特性
作者:Grey
原文地址:
博客园:Java SE 20 新增特性
CSDN:Java SE 20 新增特性
源码
源仓库: Github:java_new_features
镜像仓库: GitCode:java_new_features
Switch类...[2023/5/4]
html,css,javascript鏄€庢牱鍙樻垚椤甸潰鐨刜蹇冨緱鎶€宸缃戦〉鍒朵綔
鐩綍鏋勫缓DOM鏍?/a>鏍峰紡璁$畻甯冨眬闃舵鍒嗗眰鍥惧眰缁樺埗鏍呮牸鍖栨搷浣?/a>鍚堟垚鍜屾樉绀?/a>鎬荤粨 娴忚鍣ㄦ槸澶氳繘绋嬬殑锛屾湁娴忚鍣ㄤ富杩涚▼锛岀綉缁滆繘绋嬶紝娓叉煋杩涚▼锛屾彃浠惰繘绋嬬瓑锛屽湪灏唄tml锛宑 锛宩avascript瑙f瀽鎴愪竴涓〉闈㈢殑鏃跺€欙紝灏遍...[2023/5/4]
Amazon S3 对象存储Java API操作记录(Minio与S3 SDK两种实现)Amazon S3 对象存储Java API操作记录(Minio与S3 SDK两种实现)
缘起
今年(2023年) 2月的时候做了个适配Amazon S3对象存储接口的需求,由于4月份自学考试临近,一直在备考就拖着没总结记录下,开发联调过程中也出现过一些奇葩的问题,最近人刚从考试缓过来顺手记录一下。
S3对象存储的基本概念
S3是什么?
Amazon S3(Simple Stora...[2023/4/28]
Java多线程同步工具类CyclicBarrier的使用Java多线程同步工具类CyclicBarrier的使用
目录CyclicBarrier是什么CyclicBarrier的基本使用方法CyclicBarrier的源码实现(1)CyclicBarrier的初始化(2)CyclicBarrier的等待和唤醒CyclicBarrier的使用场景总结 CyclicBarrier是什么
CyclicBarrie...[2023/4/28]
Java并发包工具类CountDownLatch的应用详解
目录1.CountDownLatch的源码解读2.CountDownLatch的原理解析3.CountDownLatch的应用场景4.总结 CountDownLatch是Java并发包中非常实用的一个工具类,它可以帮助我们实现线程之间的同步和协作。CountDownLatch的核心思想是通过计数器来...[2023/4/28]
基于Java开发的全文检索、知识图谱、工作流审批机制的知识库
一、项目介绍
一款全源码,可二开,可基于云部署、私有部署的企业级知识库云平台,应用在需要进行常用文档整理、分类、归集、检索的地方,适合知识密集型单位/历史文档丰富的单位,或者大型企业、集团。
为什么建立知识库平台?
二、项目所用技术
springboot+vue+tinyMce+...[2023/4/26]
Java的static修饰符
静态域
如果将域定义为 static,每个类中只有一个这样的域。而每一个对象对于所有的实例域却都有自己的一份拷贝。例如,假定需要给每一个雇员赋予唯一的标识码。这里给 Employee 类添加一个实例域 id 和一个静态域 nextld:
cla Employee {
private sta...[2023/4/26]
Java方法的返回值及注意事项
方法的返回值
为什么要有带返回值的方法呢?
调用处拿到方法的结果之后,才能根据结果进行下一步操作
带返回值方法的定义和调用:
如果在调用处,要根据方法的结果去编写另一段代码逻辑
为了在调用处拿到方法产生的结果,就需要定义带有返回值的方法
1.带返回值方法定义的格式:
publi...[2023/4/26]
全网最硬核 JVM 内存解析 - 1.从 Native Memory Tracking 说起
个人创作公约:本人声明创作的所有文章皆为自己原创,如果有参考任何文章的地方,会标注出来,如果有疏漏,欢迎大家批判。如果大家发现网上有抄袭本文章的,欢迎举报,并且积极向这个 github 仓库 提交 i ue,谢谢支持~
另外,本文为了避免抄袭,会在不影响阅读的情况下,在文章的随机位置放入对于...[2023/4/26]
JavaScript中setTimeout()的具体用法JavaScript中setTimeout()的具体用法
setTimeout( ) 是属于 window 的 方法, 但我们都是略去 window 这顶层容器名称, 这是用来设定一个时间, 时间到了, 就会执行一个指定的 method
请先看以下一个简单, 这是没有实际用途的例子, 只是用来示范 setTimeout( ) 的语法。
1、set...[2023/4/26]
Java中ResultSetMetaData 元数据的具体使用
目录1. 前言2. 常用方法介绍3. 代码演示4. 结果图(一部分)5. 源码 1. 前言
ResultSetMetaData 叫元数据,是数据库 列对象,以列为单位封装为对象。
元数据,指的是其包含列名,列值,列类型,列长度等等有用信息。
2. 常用方法介绍
ResultSetMe...[2023/4/26]
在 javascript 中如何快速获取数组指定位置的元素
目录前言数组的 at() 方法 前言
在 JavaScript 中如果我们需要获取一个数组指定位置的元素,通常情况下,我们一般采用以下方法:
1.通过下标直接获取指定元素:arr[index], index 为非负数。
let arr = [1, 4, 5, 8, 10]
获取数组...[2023/4/26]
ReentrantLock从源码解析Java多线程同步学习
目录前言管程管程模型MESA模型主要特点AQS共享变量资源访问方式主要方法队列node节点等待状态ReentrantLock源码分析实例化ReentrantLock加锁A线程加锁成功B线程尝试加锁释放锁总结 前言
如今多线程编程已成为了现代软件开发中的重要部分,而并发编程中的线程同步问题更是一道...[2023/4/21]
一文带你搞懂Java中Synchronized和Lock的原理与使用一文带你搞懂Java中Synchronized和Lock的原理与使用
目录1、Synchronized与Lock对比2、Synchronized与Lock原理2.1 Synchronized原理2.2 Lock原理3、Synchronized与Lock使用SynchronizedLock4、相关问题 1、Synchronized与Lock对比
实现方式:Syn...[2023/4/21]
JavaScript数组对象高阶函数reduce的妙用详解
目录reduce 是 JavaScript 数组对象上的一个高阶函数计算数组的平均数求数组的最大值求数组的最小值数组去重计算数组中每个元素出现的次数实现数组分组计算数组中连续递增数字的长度计算对象数组的属性总和将对象数组转换为键值对对象计算数组中出现次数最多的元素实现 Promise 串行执行对象属...[2023/4/21]
一个基于Java线程池管理的开源框架Hippo4j实践
@目录概述定义线程池痛点功能框架概览架构部署Docker安装二进制安装运行模式依赖配置中心接入流程个性化配置线程池监控无中间件依赖接入流程服务端配置三方框架线程池适配拒绝策略自定义
概述
定义
Hippo4j 官网地址 https: hippo4j.cn/ 最新版本1.5.0
Hipp...[2023/4/19]