程序员 程序 日记java

《Java 并发编程的艺术》实验02-2 JUC 原子操作类的使用

JUC 原子操作类的使用 实验目的 掌握Java原子类的使用方法,了解原子类在多线程环境下的特点和使用场景。 实验过程 导入Java原子类的库 创建AtomicInteger对象 使用原子方法对count进行操作 实验参考代码 public class AtomicExample { public ......
原子 艺术 Java JUC 02

《Java 并发编程的艺术》实验02-3 JUC 并发工具类的使用

JUC 并发工具类的使用 CountDownLatch 简介 CountDownLatch 是Java并发包中的一个基本类,它可以用来在多个线程间同步操作。 其主要功能是允许一个或多个线程等待,直到其他线程完成它们的操作后再继续执行。 CountDownLatch 是通过一个计数器实现的,计数器的初 ......
工具 艺术 Java JUC 02

Java - 为什么静态方法不需要通过 new 对象就可以调用,而普通方法需要?

在 Java 中,通过类名来调用静态方法的原理涉及到类加载和类初始化的过程。 类加载:当 Java 程序执行时,类加载器负责加载类的字节码文件到内存中。这是一个类的元数据加载过程,其中包括类的字段、方法、构造函数等信息。静态方法本身也是类的一部分,因此在类加载的过程中,静态方法也会被加载到内存中。 ......
方法 静态 对象 Java new

编译程序时的各种分析主要是分析什么?

词法分析 识别单词,例如,保留字、标识符、常数、运算符、分界符等; 语义分析 对结构上正确的源程序进行上下文有关性质的审查,进行类型审查; 语法分析 在词法分析的基础上,将单词序列组合成各类语法短语,且判断其结构是否正确; ......
程序

Java模块化应用实践之精简JRE(内含开源)

Java9及以后的版本引入了模块化特性,实际实践了一段时间之后发现“真香!”现在把“利用Java模块化精简JRE”的方法和经验分享给大家。 ......
模块 Java JRE

Java 通过collectors.groupingBy根据某个字段统计

要使用Collectors.groupingBy根据某个字段统计,你可以通过提供一个函数来指定分组的条件。 假设你有一个包含Person对象的列表,每个对象都有age字段表示年龄,你想要根据年龄分组,并统计每个年龄组的人数。以下是一个使用Collectors.groupingBy的示例代码: imp ......
字段 collectors groupingBy Java

NOIP 2022 考前学习日记

前言 学习记录本写太乱了,所以在这里打个草稿 顺便记录一下学习过程,后面总结的时候康康有没有问题 11月2日(今日运势:中平) 上午: 再次做了一下CSP-S 2022的题,除了T4以外的都订正完了 听yjy讲了一下 kruskal重构树,还没做练习 下午: 看线性代数看的想睡觉; 尝试做了一下【模 ......
日记 NOIP 2022

File --JAVA

File --JAVA 构造方法 方法说明 public File (String pathname) 根据文件路径创建对象 public File (String parent, String child) 根据父路径名字字符串和子路径名字符串创建文件对象 public File (String ......
File JAVA

微信小程序中子父组件相互传值

父传子: 父组件向子组件传递数据可以通过在子组件标签上绑定属性进行 1.在父组件的wxml文件中使用子组件,并为其绑定一个自定义属性,其中custom-data是自定义的属性名,dataFromParent是父组件中的数据 <!--父组件wxml--> <child-component custom ......
中子 组件 程序

java实现文件夹上传功能实例代码(SpringBoot框架)

前言 有时我们后台管理等服务可能会有这样一个简单需求,就是根据文件夹将整个文件夹下的所有资源都上传到我们的服务器上,本人也是搜索了大量资料,最终以最简单便捷的方式实现该功能,具体操作步骤如下 一、前端如何设置上传组件并将资源上传到后台服务 这里的项目框架为若依VUE版本,下面将核心的代码抽离出来进行 ......
SpringBoot 文件夹 框架 实例 代码

java根据模板生成表格和列表

1、模板 所有的标签都是以 {{开始,以}} 结束。 {{template}} 文本 {{@template}} 图片 {{#template}} 表格 {{*template}} 列表 {{+template}} Word 文档合并 {{?template}}{{/template}} if 和 ......
表格 模板 java

Java 使用`Collectors.groupingBy`计算百分比

要使用Collectors.groupingBy计算百分比,你需要先对数据进行分组,然后计算每个组内元素的百分比。 假设你有一个包含整数的列表,你想要按照它们的奇偶性进行分组,并计算每个组内元素的百分比。以下是一个使用Collectors.groupingBy和自定义收集器的示例代码: import ......
百分比 百分 Collectors groupingBy Java

【tus】SpringBoot可恢复文件上传tus-java-client库的使用

1、说明tus是一种基于HTTP的可恢复文件上传协议。可恢复意味着上传可以随时中断,并且可以恢复,而无需再次重新上传以前的数据。如果用户想要暂停,中断可能会自动发生,或者在网络问题或服务器中断的情况下意外发生。 tus-java-client是一个库,用于使用tus协议将文件上载到支持它的任何远程服 ......
tus-java-client SpringBoot tus 文件 client

通过小程序向用户发送模板消息

方法:公众号申请开启模板消息功能,并且申请一个模板。然后,通过微信的网站API获取AccessToken,通过AccessToken给指定用户发送模板消息。 关键问题:公众号下用户的openid和小程序下用户的openid是不同的。因此,需要在数据库里把每个用户的unionid存起来,然后join查 ......
模板 消息 程序 用户

java8 集合操作功能

Java 8引入了许多新的集合操作功能,包括但不限于以下几项: forEach:使用Lambda表达式遍历集合中的每个元素。 stream:将集合转换为流,以便进行各种操作,如过滤、映射、排序等。 filter:根据指定的条件过滤集合中的元素,并返回过滤后的结果。 map:将集合中的每个元素映射为另 ......
功能 java8 java

Java 8 Lambda 表达式语法格式代码示例

Java 8引入了Lambda表达式,它是一种简洁而强大的编程语法。Lambda表达式可以作为参数传递给方法,或者用于函数式接口的实现。 Lambda表达式的语法非常简单。它由箭头(->)分为两部分:左侧是参数列表,右侧是表达式体。参数列表可以省略类型,编译器会根据上下文自动推断出类型。表达式体可以 ......
表达式 示例 语法 代码 格式

【刷题日记】其二

2023.10.30 星期一 晚上有场div.2,刷刷思维题 17:21 R1400 思维 T00:25:41 https://codeforces.com/problemset/problem/1605/C 最后还是看题解了,自己做一直WA2,原来少了一种情况 反正就是最少的时候,只有两个a相邻和 ......
日记

java通过ssl连接mysql(linux)

环境:Os:centos 7mysql:5.7.29java运行客户端:windows10 1.查看服务器的证书文件mysql数据data目录下 [root@localhost data]# pwd /opt/mysql57/data [root@localhost data]# ls -al *. ......
mysql linux java ssl

java怎么递归

在Java中,递归(Recursion)是指一个方法在其内部调用自身的过程。递归通常用于解决可以被分解成相似子问题的问题。在编写递归函数时,需要定义递归的结束条件,以防止无限循环。 下面是一个简单的递归示例,演示了如何使用递归计算一个数的阶乘: public class Main { public ......
java

【刷题日记】其一

2023.10.27 1400数据结构专练启动 0:41 https://codeforces.com/problemset/problem/816/B 1400数据结构 数据量小,直接用差分实现区间加法,再用前缀和统计出答案 代码 #include <bits/stdc++.h> using na ......
日记

明解Java第二章练习题答案

练习2-1 请对代码清单2-6的2处进行修改,将带有小数部分的实数值赋给x和y,查看结果如何? 答案:编译器会报错,因为小数的默认类型double是比int更大的类型。如果给double类型的变量赋值整数,则编译器不会报错。 练习2-2 请编写一段程序,对三个int型变量进行赋值,并计算合计值和平均 ......
练习题 答案 第二章 Java

java 上传大文件

Java上传大文件实现方法简介在开发过程中,我们经常会遇到需要上传大文件的需求。本文将教会你如何用Java实现上传大文件的功能。 整体流程首先,让我们来看一下实现上传大文件的整体流程。下面是一个流程表格: 步骤 描述1 创建一个文件上传表单2 在后端编写一个接收上传文件的控制器3 将上传的文件保存到 ......
文件 java

java设计模式之策略模式的优雅实现

策略模式是开发中常用的一种设计模式,主要解决在有多种算法相似的情况下,使用 if...else 所带来的复杂和难以维护的问题。看了网上很多关于策略模式的上下文切换类实现都不甚优雅,故而想总结分享一篇自我感觉比较优雅的处理方式,方便大家一起学习。方式一:使用@PostConstruct初始化到map中 ......
模式 设计模式 策略 java

Java MVEL表达式注入漏洞原理研究

一、Java MVEL表达式原理 MVEL全称为:MVFLEX Expression Language,是用来计算Java语法所编写的表达式值的表达式语言。MVEL的语法很大程度上受到Java语法的启发,但为了使表达式语法更高效,还是有一些基本差异,例如可以像正则表达式一样直接支持集合、数组和字符串 ......
表达式 漏洞 原理 Java MVEL

Java SPEL表达式注入漏洞原理研究

一、Java SpEL表达式基本原理 SpEL(Spring Expression Language)简称Spring表达式语言,在Spring 3中引入。 SpEL能在运行时构建复杂表达式、存取对象图属性、对象方法调用等等,可以与基于XML和基于注解的Spring配置还有bean定义一起使用。 在 ......
表达式 漏洞 原理 Java SPEL

NOIP 2023 考前学习日记

前言 e92a191c-9fae-4364-882b-0c91fb88c3aa 属于是闲着没事干,看到自己去年写过一次,所以再写一次。 10 月 23 日(今日运势:大吉) 上午: 调联考异或,没调出来。 消消乐,想想想。 消消乐,写写写。 消消乐,卡卡卡。 消消乐,寄寄寄。 详见记录:link。 ......
日记 NOIP 2023

Java基本数据类型

1.数据类型 1.1基本数据类型 整数型:byte(1字节)、short(2字节)、int(4字节)、long(8字节) 浮点型:float(4字节)、double(8字节) 字符型:char(2字节) 布尔类型:boolean(1字节) short和char都是两字节,实际容量相同,但是short ......
类型 数据 Java

Java面试题小练(二)

Java异常处理方式 Java的异常处理机制——抛出异常,捕获异常,声明异常 Java的异常处理是通过5个关键字来实现的 try,catch,throw,throws和finally Java通过面向对象的方法进行异常处理,一旦方法抛出异常,系统自动根据该异常对象寻找合适异常处理器来处理该异常,把各 ......
Java

java 方法的重载

在同一个类中,定义了多个同名的方法,这些同名的方法具有同种的功能。 每个方法具有不同的参数类型或参数个数,这些同名的方法,就构成了重载关系 简单记: 同一个类中,方法名相同,参数不同的方法。与返回值无关。 参数不同:个数不同、类型不同、顺序不同 构成重载关系 public class day9_02 ......
方法 java

java 方法的定义和调用

方法(method)是程序中最小的执行单元。 ......
方法 java