阳光 学院java

Java 大后端各种架构图汇总

* 1\. java 类加载器架构 * 2\. JVM 架构 * 3\. Java 技术体系 * 4\. 线程运行架构 * 5\. Java 体系(编译与运行)结构 * 6\. JMS 技术架构 * 7\. JMX 技术架构 * 8\. Spring 架构 * 9\. Hibernate 架构 * ......
架构 Java

设计模式-命令模式在Java中的使用示例-桌面程序自定义功能键

场景 欲开发一个桌面版应用程序,该应用程序为用户提供了一系列自定义功能键,用户可以通过这些功能键来实现一些快捷操作。 用户可以将功能键和相应功能绑定在一起,还可以根据需要来修改功能键的设置,而且系统在未来可能还会增加一些新的功能或功能键。 如果不使用命令模式,可能这样实现。 功能键类Function ......
模式 设计模式 示例 命令 桌面

SHA1签名算法,JAVA和C#

java: public static void main(String[] args) throws NoSuchAlgorithmException { String token = "31a4a1aa-cffc-4aca-9ef6-0497edf7fbed"; String nonce = " ......
算法 SHA1 JAVA SHA

Java8 函数式编程stream流

## 开篇介绍 Java 8 中新增的特性旨在帮助程序员写出更好的代码,其中对核心类库的改进是很关键的一部分,也是本章的主要内容。对核心类库的改进主要包括集合类的 API 和新引入的流(Stream),流使程序员得以站在更高的抽象层次上对集合进行操作。下面将介绍stream流的用法。 ## 1.初始 ......
函数 stream Java8 Java

Java学习Day05

### 4.2.1、语法格式 ```java for(初始化表达式; 循环条件; 条件控制语句){ 执行语句 ……… } ``` 在上面的语法结构中,for关键字后面()中包括了三部分内容:初始化表达式、循环条件和条件控制语句,它们之间用“;”分隔,{}中的执行语句为循环体。 注意: (1)for( ......
Java Day 05

Java并发(十四)----悲观互斥与乐观重试

1. 悲观互斥 互斥实际是悲观锁的思想 例如,有下面取款的需求 interface Account { // 获取余额 Integer getBalance(); ​ // 取款 void withdraw(Integer amount); ​ /** * 方法内会启动 1000 个线程,每个线程做 ......
Java

rabbitmq php 发送延迟消息 java 进行消费

// 延迟队列 php 需要安装好几个扩展 php 生产者 $connection = new AMQPStreamConnection('xxxxx', 5672, 'guest', 'guest'); $channel = $connection->channel(); // 发送消息到交换机, ......
rabbitmq 消息 java php

在Java和C#中计算SHA-1哈希

Java版本: public void testHash() { String password = "Test"; byte[] key = password.getBytes(); MessageDigest md = MessageDigest.getInstance("SHA-1"); by ......
Java SHA

C#与Java互通AES算法加密解密

C# 需要引用System.Security.Cryptography命名空间 /// <summary>AES加密</summary> /// <param name="text">明文</param> /// <param name="key">密钥,长度为16的字符串</param> /// ......
加密解密 算法 Java AES

学习Java的第7天

数据类型 强类型语言(安全性高-速度慢) 要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用 弱类型语言(安全性低--速度快) Java的数据类型分为两大类 基本类型(primitive type) //**八大基本数据类型 ** //**整数 ** int num1 = 10; //** ......
Java

mysql timestamp 时间戳,存取数据,Java代码中使用 LocalDateTime.now()(mysql插入数据库差八个小时)

mybatis的日志打印了时间没有问题,之前使用的now Date,后来改成LocalDateTime 可以了,不差了。且是 mysql,和系统的时间都么有问题 mysql的连接信息: ?serverTimezone=UTC&characterEncoding=utf8&autoReconnect= ......
数据 mysql LocalDateTime timestamp 小时

有关java语法的一些细节(与c++比较)

与c++不同,java不支持方法参数的默认值设置,因此若有此需要,可以使用重载的方式去实现,如: public class Test { public int func(int a, String b){ //TODO } public int func(){ return func(0,new S ......
语法 细节 java

java8 list转map把key重复的value合并

无序 Map<String, List<GeneralVO>> groupMap = generalVOS.stream().collect(Collectors.groupingBy(GeneralVO::getTaskId)); 有序 Map<String, List<GeneralVO>> g ......
java8 value java list key

Java JNI(Java Native Interface)介绍

1. JNI 简介 众所周知,Java 的主要优势之一是它的可移植性,这意味着一旦我们编写并且编译了代码,这个过程的结果就是不依赖于平台的字节码。它可以像我们预期的那样运行在任何能够运行 Java 虚拟机的机器或设备上。 但是,有时我们确实需要使用一些为某些特定架构而进行本地编译的原生代码。例如: ......
Java Interface Native JNI

Java面试题 P9:hashCode与equals区别

equals: 1、用于定义对比两个对象的对比规则,来判断这两个对象什么时候是相等的,什么时候是不相等的 2、默认使用object的equals,实际上就是==号,对比的是对象在栈中的引用的地址,如果是基本类型变量的话对比的是栈中的值,对比的是引用地址。 hashCode: 1、 ......
hashCode equals Java

java 函数独占锁

``` import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock; @RestController @RequiredArgsConstructor @RequestMapping( ......
函数 java

我爸南阳师专的,我妈信阳师专的,我爷爷郑州师范学校的的。wo湖南师范大学的, 你奶奶是不是河南师范学院的

我爸南阳师专的,我妈信阳师专的,我爷爷郑州师范学校的的。wo湖南师范大学的, 你奶奶是不是河南师范学院的 我爸南阳师专的,我妈信阳师专的,我爷爷郑州师范学校的的。wo湖南师范大学的, 你奶奶是不是河南师范学院的的 经历一样哎 我是专科南阳师范 本科-商丘师范 硕士信阳师范 我是专科郑州科技学院 本科 ......

java 转化为树工具类

Java 树状结构转化工具类 1:使用场景:菜单结构数(n级别) 2:数据库存储的往往的是一条条的数据,通过id,查询数据库的父类id进行获取子类数据,然后进行组装数据,数据曾经可能很多。 往往的解决思路是通过递归进行查询,递归中可能会写sql查询,效率极低,并进行数据整理。效率特别的查。有需要的可 ......
工具 java

Java十大经典排序算法汇总

以下是十大经典排序算法: 冒泡排序(Bubble Sort):比较相邻两个元素,如果逆序则交换,重复多轮,直到无逆序情况。 选择排序(Selection Sort):在待排序元素中选择最小(大)元素,放在已排序序列的起始位置,重复多轮,直到所有元素有序。 插入排序(Insertion Sort):从 ......
算法 经典 Java

探索Java通信面试的奥秘:揭秘IO模型、选择器和网络协议,了解面试中的必备知识点!

通过深入探索Java通信面试的奥秘,我们将揭秘Java中的三种I/O模型(BIO、NIO和AIO)、选择器(select、poll和epoll)以及网络协议(如HTTP和HTTPS),帮助您了解在面试中必备的知识点。这些知识点对于网络编程和系统安全方面的求职者来说至关重要,掌握它们将为您的职业发展打... ......
知识点 奥秘 模型 知识 网络

java启动jar包修改JVM默认内存问题

JVM默认物理内存 JVM初始分配的内存由-Xms指定,默认是物理内存的1/64;JVM最大分配的内存由-Xmx指定,默认是物理内存的1/4。 默认空余堆内存小于40%时,JVM就会增大堆直到-Xmx的最大限制;空余堆内存大于70%时,JVM会减少堆直到-Xms的最小限制。 因此服务器一般设置-Xm ......
内存 问题 java jar JVM

Java多线程环境下可能会出现指令重排的代码示例

什么是指令重排? 我们在执行程序时,为了提高性能,编译器和处理器某些情况下会对指令进行重排序。 as-if-serial语义 不管怎么重排序,不能影响单线程环境下的执行结果,这是as-if-serial语义定义的,编译器和处理器阶段的重排都遵循该规则。 编译器和处理器都遵循的指令重排的原则 a、数据 ......
示例 线程 指令 代码 环境

Java基础和MySQL

Java基础 ==和equals的区别 ==比较的是值是否相等。 ==作用于基本数据类,他比较的是内容 ==作用于引用数据类型,比较的是地址值 equals比较的是对象是否是同一个对象,比较的是对象的内容 equals()方法存在于Object类中,在没有重写之前和==是一样,也是比较的是引用数据类 ......
基础 MySQL Java

尚硅谷Java 宋红康2023版 - 学习笔记

尚硅谷Java 宋红康2023版 - 学习笔记 ## 观看地址 https://www.bilibili.com/video/BV1PY411e7J6 ## JDK JRE JVM jdk是开发包,jre是运行包,jvm是java虚拟机(最小核心) ![](https://img2023.cnblo ......
笔记 Java 2023

java.security.InvalidKeyException: Illegal key size 的解决方法

一、原因 JDK受版本安全限制,默认只允许128位长度以内的。秘钥长度,如果密钥大于128, 会抛出java.security.InvalidKeyException: Illegal key size 异常. java运行时环境默认读到的是受限的policy文件. 文件位于${java_home} ......

1:java学习前的准备知识

1:展示文件扩展名 查看 详细信息--勾选文件扩展名 2:直接cmd进入文件当前目录(选择文件直接输入cmd 3:下载Sublime Text工具 ......
知识 java

Java 抽象类

1、抽象类 抽象类是指在普通类里面增加了抽象的方法,对于抽象方法,就是指没有方法体的方法,并且抽象方法应该用abstract 修饰。 换句话说,拥有抽象方法的类就是抽象类,抽象类也需要用 abstract 修饰,但一个类是抽象类,不一定有抽象方法。 2、使用 (1)抽象方法使用 abstract 修 ......
Java

Java面试题 P9:List和Set的区别

List:有序,按对象进入的顺序保存对象,可重复,允许多个Null元素对象,可以使用Iterator取出所有元素,在逐一遍历,还可以使用get(int index)下标方式,获取指定下标的元素值 Set:无序,不可重复,最多允许有一个Null元素对象,取元素时只能用lterator接口取得所有元素, ......
Java List Set

Java方法详解

# Java方法详解 ## 什么是方法 - System.out.println(),那么她是什么? - Java方法是语句的集合,它们在一起执行一个功能 1 方法是解决一类问题的步骤的有序组合 2 方法包含于类或对象中 3 方法在程序中被创建,在其他地方被引用 - 设计方法的原则:方法的本意是功能 ......
方法 Java