线程lesson java 03

学习笔记 - 异常和多线程

## 异常 ### 概述 异常指的是程序在执行过程中,出现的非正常情况,如果不处理最终会导致JVM的非正常停止。 ### Java 异常体系 - java.lang.Throwable:异常体系的父类 - java.lang.Error:Java 虚拟机无法解决的严重问题。如:JVM 系统内部错误、 ......
线程 笔记

java代审之XXE

一、什么是XXE漏洞 xxe攻击也叫xml外部实体注入攻击,是一种常见的Web应用安全漏洞,通过漏洞可导致任意文件读取、目录遍历、探测内网端口、攻击内网网站、发起DoS拒绝服务攻击、执行系统命令等安全问题。 当应用程序使用XML处理器解析外部XML实体时,可能会发生XXE漏洞,使用场景比如后台解析x ......
java XXE

Java进阶篇-4

## 多线程 并发:在同一时刻,有多个指令在单个CPU上*交替*执行 并行:在同一时刻,有多个指令在多个CPU上*同时*执行 ### 实现方式 #### 继承Thread类 ```java //MyThread.java public class MyThread extends Thread{ } ......
Java

JAVA-基本程序设计结构(运算符、进制、位运算、字符串)

1.运算符 运算符是一种特殊的符号,用于表示数据的运算、赋值和比较以及连接值等。 1.算术运算符 算术运算符是对数值类型的变量进行运算。 算术运算符 运算符 运算 示例 结果 + 正号,表示变量为正数 +7 7 - 负号,表示变量为负数 b=11;-b -11 + 加 9+9 18 - 减 10-8 ......

隔离和降级-线程隔离

......
线程

线程池在工作中的几种使用姿势

线程池在开发中一定会用到,如果能像golang一样,java语言也有协程,也许java程序员就少了一种包袱。 回归正题,我们聊下到底有哪些线程池的使用方式,总结有以下几种。 JDK 内置线程池 Spring线程池 自己魔改封装 1、JDK 内置线程池 常用的有: 我们看下最全的线程池参数,探究为什么 ......
线程 姿势

java_查看jar包的JDK版本

# Java: 查看jar包的JDK版本 今天突然发现新编译的jar包在AS跑不起来了,报错如下: ```bash class file has wrong version 61., should be 55.0 ``` ![image-20230831161551715](https://img2 ......
版本 java jar JDK

Java 线程池原理及实践

1. 概述 1.1 线程池是什么 线程池(Thread Pool)是一种基于池化思想管理线程的工具,经常出现在多线程服务器中,如MySQL。 创建线程本身开销大,反复创建并销毁,过多的占用内存。所以有大量线程创建考虑使用线程池。线程池不用反复创建线程达到线程的复用,更具配置合理利用cpu和内存减少了 ......
线程 原理 Java

线程池

public class EditProcessor { private final ContextCopyThreadPoolExecutor executor = new ContextCopyThreadPoolExecutor(); public EditProcessor() { exec ......
线程

sysbench 多线程性能测试工具

安装 Ubuntu/Debian: sudo apt-get update sudo apt-get install sysbench CentOS/RHEL: sudo yum install epel-release sudo yum install sysbench 使用 运行 CPU 压力测 ......
测试工具 线程 sysbench 性能 工具

java spring框架后台接收List对象参数以及各种接收参数方法

因为最近项目有这个需求,开始按照自己的方法试了几次都不成功,最后在网上查找了半天,算是基本理清了原委,当然时间仓促,可能有不准确的地方,如果博友有更好的方法,欢迎留言交流. 直接上结论: 只能用JSON的方式传,有两种方法,不同之处在于是框架帮你转还是你自己转成对象 前提:要求前端请求头中conte ......
参数 后台 框架 对象 方法

Java爬虫实战系列——常用的Java网络爬虫库

## 常用的Java网络爬虫库 Java 开发语言是业界使用最广泛的开发语言之一,在互联网从业者中具有广泛的使用者,Java 网络爬虫可以帮助 Java 开发人员以快速、简单但广泛的方式为各种目的抓取数据。平常我们在讨论网络爬虫的时候,很多人都会想到使用 Python 语言,因为与 Python 相 ......
爬虫 Java 实战 常用 网络

线程通信和线程属性

线程通信 线程间的通信⽬的主要是⽤于线程同步。所以线程没有像进程通信中的⽤于数据交换的通信机制。 同⼀进程的不同线程共享同⼀份内存区域,所以线程之间可以⽅便、快速地共享信息。只需要将数据复制到共享 (全局或堆)变量中即可。但是需要避免出现多个线程试图同时修改同⼀份信息。 线程属性 1、线程属性初始化 ......
线程 属性

java实现批量文件编码转换

public final static String SLANT_LINE="/"; /** * @param sourcePath 源文件路径 * @param targetPath 目标文件路径 * @param sourceEncoding 源文件编码 * @param targetEncod ......
编码 文件 java

JAVA反序列化-URLDNS链

URLDNS是ysoserial中利用链的一个名字,通常用于检测是否存在Java反序列化漏洞。该利用链具有如下特点: - 不限制jdk版本,使用Java内置类,对第三方依赖没有要求。 - 目标无回显,可以通过DNS请求来验证是否存在反序列化漏洞。 - URLDNS利用链,只能发起DNS请求,并不能进 ......
序列 URLDNS JAVA

Java爬虫实战系列——常用的Java网络爬虫库

## 常用的Java网络爬虫库 Java 开发语言是业界使用最广泛的开发语言之一,在互联网从业者中具有广泛的使用者,Java 网络爬虫可以帮助 Java 开发人员以快速、简单但广泛的方式为各种目的抓取数据。平常我们在讨论网络爬虫的时候,很多人都会想到使用 Python 语言,因为与 Python 相 ......
爬虫 Java 实战 常用 网络

Java单元测试及常用语句

编写Java单元测试用例,即把一段复杂的代码拆解成一系列简单的单元测试用例,并且无需启动服务,在短时间内测试代码中的处理逻辑。写好Java单元测试用例,其实就是把“复杂问题简单化,建单问题深入化“。在编写的过程中, 我们也可以对自己的代码进行一个二次检查。 ......
语句 单元 常用 Java

Arthas(阿尔萨斯)Java 诊断工具

Arthas(阿尔萨斯)能为你做什么? Arthas 是 Alibaba 开源的 Java 诊断工具,深受开发者喜爱。 当你遇到以下类似问题而束手无策时,Arthas可以帮助你解决: 1.这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception? 2.我改的代码为什么没有执行到?难 ......
工具 Arthas Java

Java环境配置与常见问题

一、 前言 在日程办公中Java环境搭建已经是非常基础且重要的一环,许多应用如tomcat、weblogic、zookeeper、kafka、Elasticsearch、hadoop、CDH等等都需要依赖它。 Java环境的搭建也比较简单,在Linux系统上有两种方法:一种是直接安装编译打包好的软件 ......
常见问题 常见 环境 问题 Java

Java

# Java基础 ## 注释 1. //单行注释 2. /* 多行注释 */ 3. 文档注释 平时写代码一定要注意规范 ## 标识符 - 所有的标识符都应该以字母(A-Z或a-z),美元符($),或下划线(_)开始 - 首字符之后可以是字母(A-Z或a-z),美元符($),或下划线(_)或数字的任何 ......
Java

JAVA-基本程序设计结构(变量、常量、数据类型)

1.变量 1.变量概念 变量是程序的基本组成单位。无论是何种高级语言,变量都是其程序的基本组成单位。 变量组成元素:类型+名称+值 变量相当于内存中一个数据存储空间的表示,通过变量名可以访问到变量值。 变量使用步骤:声明变量—赋值—使用 注意: 变量表示内存中的一个存储区域[不同的变量,类型不同,占 ......
常量 变量 程序设计 类型 结构

Java学习经验总结

【阶段一】 1⃣Java基础阶段:学习Java的基本语法。 前端基础学习:HTML+CSS+JavaScript,作为后端开发,前端部分只要了解一些基础,方便后面做项目。 2⃣数据库+包版本工具+linux:数据库主要学MySQL,而包版本工具主要学Maven,linux的话主要学学基本的命令即可。 ......
学习经验 经验 Java

【校招VIP】java专业课之三次握手四次挥手

考点介绍: 三次握手四次挥手问题是校招面试中的必考题。 三次握手即TCP连接的建立。这个连接必须是一方主动打开,另一方被动打开的。四次挥手即TCP连接的释放(解除)。连接的释放必须是一方主动释放,另一方被动释放 一、考点题目 1、为什么TCP链接需要三次握手,两次不可以么? 解答:为了防止 已失效的 ......
专业课 专业 java VIP

初识java语言

随着计算机技术的不断发展和应用的不断普及,编程语言已经成为了计算机世界的核心组成部分。JAVA编程语言作为一种跨平台的高级编程语言,已经成为了现代软件开发的首选语言之一。它具有良好的可读性、可维护性和可移植性等特点,适用于各种规模的应用程序开发。 那么,作为初学者,如何开始学习JAVA呢?以下是我总 ......
语言 java

java与es8实战之六:用JSON创建请求对象(比builder pattern更加直观简洁)

向ES发送请求时,如何创建请求对象呢?官方推荐的builder patter,在面对复杂的请求对象结构时还好用吗?有没有更加直观简洁的方法,尽在本文一网打尽 ......
实战 对象 builder pattern java

线程同步 信号量

[toc] #信号量 比条件变量更加简单 ![](https://img2023.cnblogs.com/blog/3239608/202308/3239608-20230830234440637-628792680.png) 如图,当前老王的信号量为2,老赵的信号量为4,老赵开进去一辆车,那么空闲 ......
线程 信号

多线程与单线程执行的对比

对比技术点: 单线程:普通循环 多线程框架:CompletableFuture 多线程框架;ForkJoin 50次对比实验 源码: package com.example.demo; import org.apache.commons.lang3.time.StopWatch; import ja ......
线程

# 03. 为所有员工按姓名拼音顺序编号并填入表格

# 03.为所有员工按姓名拼音顺序编号并填入表格 * python的excel文件类型转换 * python的拼音排序 * python的修改excel单元格值 ## 文件批量转换.py 由于python库的限制,在进行文件的遍历时,需要将所有【xls文件】转换为【xlsx文件】 ```python ......
拼音 顺序 表格 姓名 员工

BUUCTF [RoarCTF 2019]Easy Java

题目是登陆页面,查看源码,发现一个连接`Download?filename=help.docx`,跳转到帮助文档。 点击help也可以跳转到帮助文档。 帮助文档内容为`java.io.FileNotFoundException:{help.docx}`,是java语句,帮助文档不存在。 ## WEB ......
RoarCTF BUUCTF 2019 Easy Java

Java并发(十五)----synchronized解决共享的问题

为了避免临界区的竞态条件发生,有多种手段可以达到目的。 阻塞式的解决方案:synchronized,Lock 非阻塞式的解决方案:原子变量 此次介绍使用阻塞式的解决方案:synchronized,来解决上述问题,即俗称的【对象锁】,它采用互斥的方式让同一时刻至多只有一个线程能持有【对象锁】,其它线程 ......
synchronized 问题 Java