线程 常用java
Java官方笔记3Java语言基础
变量 Instance Variables (Non-Static Fields) 实例变量(非静态变量) 一个类可以创造多个实例,实例中的变量叫做实例变量,相互独立。 Class Variables (Static Fields) 类变量(静态变量) 对比来看,类变量就是类的变量,一个类只能有一份 ......
【面试专栏】Java5 - Future,基本使用
1. 简介 在使用多线程开发中,不论是继承Thread类还是实现Runnable接口方式,都无法非常方便的获取异步任务执行的结果。在JDK1.5提供了和Runnable类似但多了返回值的Callable接口,通过Future接口实现类和Callable接口方式,可以非常灵活的进行多线程操作,例如:获 ......
java方法-数组(定义,声明创建)
数组概述 数组的定义 数组是相同类型数据的有序集合 数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成 其中,每一个数据称作一个数组元素,每个数组元素可以通过一个数组下标来访问它们 数组声明创建 首先必须声明数组变量,才能在程序中使用数组。下面是声明变量的语法: dataType[] ......
java 如何解决String类型转成int类型报错(因长度问题)?
原因:“int最大长度是11位 使用 Integer.valueOf(uuid),一旦uuid超过11位就会报错。 如果想要计算怎么办? 第一种:是用长整型 String.valueOf(Long.parseLong(fileId) + 1) 第二种:使用BigInteger,java中提供了Big ......
java: Annotation processing is not supported for module cycles
java: Annotation processing is not supported for module cycles. Please ensure that all modules from cycle [WV-service,WV-database,WV-core] are exclude ......
windows系统启动rocketMQ提示找不到java环境变量
问题是启动Broker遇到错误提示一直启动失败 解决方式修改bin目录下的runserver.cmd, runbroker.cmd 如图: runserver.cmd 修改前 修改后 runbroker.cmd 修改前 修改后 重新运行,成功 bin目录下启动nameserver start mqn ......
Java并发学习笔记-重入机制
重入机制 //20230328 在学习并发的时候看到了重入机制,在此记录一下 概念 背景:Java拥有锁机制(synchronized),这种锁是互斥锁,一个线程拿到了锁,另一个线程请求锁的时候就会阻塞,直到该锁被释放 核心概念:重入是指同一个线程多次访问同一个锁的时候,是可以拿的到的,该机制避免了 ......
docker基础镜像java版本选择和推荐
背景 在编写dockerfile时,基础镜像要么太大,要么缺少jdk;dockerhub中的openjdk五花八门,不知道选择哪个 解决方案 我在项目中通常选择 openjdk作为基础镜像 FROM openjdk:11.0.11-jdk-slim MAINTAINER mintonzhang@16 ......
解决报错Cause: java.lang.StringIndexOutOfBoundsException: String index out of range: 609
Cause: java.lang.StringIndexOutOfBoundsException: String index out of range: 609 这个原因是由于Mybatis 插入数据报错: org.mybatis.spring.MyBatisSystemException: nes ......
常用的entrypoint.sh使用示例
python FastAPI 中可以使用的 entrypoint.sh 示例,其他语言写的代码也可以参考,思路类似。 #!/bin/bash set -e if [ ! -v PORT ]; then PORT="8000" fi if [ ! -v HOST ]; then HOST='0.0.0 ......
JAVA设计模式总结之六大设计原则
1、单一职责 **简单通俗的来说:**一个类只负责一项职责 **问题由来:**比如一个类T负责两个不同的职责:职责P1,职责P2。当由于职责P1需求发生改变而需要修改类T时,有可能会导致原本运行正常的职责P2功能发生故障。 **解决方案:**遵循单一职责原则。分别建立两个类T1、T2,使T1完成职责 ......
【Java 并发】【三】MESI缓存一致性协议
1 前言 上节我们看了一下线程安全的原子性、有序性、可见性,这节我们回到CPU多级缓存的问题,就是各个缓存中一致性的问题,这节我们就来看一下MESI一致性协议。 2 MESI缓存一致性协议 MESI协议也叫做缓存一致性协议,主要是用来进行协调多核CPU的高级缓存的数据一致的。 MESI一致性协议定义 ......
剑指offer11(Java)-旋转数组中的最小值(简单)
题目: 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 给你一个可能存在 重复 元素值的数组 numbers ,它原来是一个升序排列的数组,并按上述情形进行了一次旋转。请返回旋转数组的最小元素。例如,数组 [3,4,5,1,2] 为 [1,2,3,4,5] 的一次旋转,该数组的最 ......
一直报错Exception in thread "main" java.lang.ClassNotFoundException: com.mysql.jdbc
按照网上的提示在pom.xml添加了依赖 <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.11</version></dependency>版本标红,在本 ......
常用操作系统命令
常用Windows命令 ifconfig /all 获取获取域名、IP地址、DHCP服务器、网关、MAC地址、主机名 net time /domain 查看域名、时间 net view /domain 查看域内所有共享 net view ip 查看对方局域网内开启了哪些共享 net config w ......
常用端口及弱口令信息
web类(web漏洞/敏感目录) 第三方通用组件漏洞struts thinkphp jboss ganglia zabbix 80 web 80-89 web 8000-9090 web 数据库类(扫描弱口令) 1433 MSSQL 1521 Oracle 3306 MySQL 5432 Postg ......
《java铁人三项》String篇
判断字符串是否为空 原文链接:https://blog.csdn.net/w05980598/article/details/79925097 null,表示的是一个对象的值,而并不是一个字符串。例如声明一个对象的引用,String a = null ; "",表示的是一个空字符串,也就是说它的长度 ......
Java安装及配置
一、环境准备jdk下载 下载官网:Java Downloads | Oracle 下载版本:jdk-8u321-windows-x64.exe 进入上述网址后,选择Java 8,然后根据自己系统位数选择对应安装包即可 二、jdk安装安装Java8包括jdk1.8和jre1.8,双击已下载好的安装包即 ......
常用设计模式
1、设计模式简介 什么是模式? 有一些问题及其解决方案不断变换面孔重复出现,在这些不同的面孔后面是共同的本质;这些共同的本质就是模式。 设计模式是特定开发场景下针对特定问题的一种解决方案。 创建型模式解决的问题就是如何创建对象,何时创建对象,它努力的让代码不要太多的关注对象的具体类型,不用关注对象的 ......
ES5 类 组合使用构造函数模式与原型模式(最常用)
组合使用构造函数模式与原型模式(最常用) function Person(name, age){ this.name = name; this.age = age; } Person.prototype.sayName = function(){ console.log(`My name is ${ ......
Java4
1 输入年份月份,输出该月的天数(闰年2月29天,条件参考上机练习1) import java.util.Scanner; public class ctt { public static void main(String[] args) { // TODO Auto-generated metho ......
《Java高手笔记常见100例错误》笔记
1. 用户信息错乱-ThreadLocal 问题:有时获取到的用户信息是别人的。 因为Tomcat 的工作线程是基于线程池的, 所以使用类似 ThreadLocal 工具来存放一些数据时,需要特别注意在代码运行完后,显式地去清空设置的数据,不然就有可能因为线程池复用工作线程,ThreadLocal ......
线程的 run()和 start()有什么区别?
每个线程都是通过某个特定Thread对象所对应的方法run()来完成其操作的,run()方法称为线程体。通过调用Thread类的start()方法来启动一个线程。 start() 方法用于启动线程,run() 方法用于执行线程的运行时代码。run() 可以重复调用,而 start() 只能调用一次。 ......
什么是线程死锁
死锁是指两个或两个以上的进程(线程)在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程(线程)称为死锁进程(线程)。 多个线程同时被阻塞,它们中的一个或者全部都在等待某个资源被释放。由 ......
如何在 Windows 和 Linux 上查找哪个线程cpu利用率最高?
windows上面用任务管理器看,linux下可以用 top 这个工具看。 找出cpu耗用厉害的进程pid, 终端执行top命令,然后按下shift+p 查找出cpu利用最厉害的pid号 根据上面第一步拿到的pid号,top -H -p pid 。然后按下shift+p,查找出cpu利用率最厉害的线 ......
电脑常用快捷键学习
电脑常用快捷键学习 键盘功能键 tab shift+delete回车右面的件是永久删除文件 ctrl+c选中复制+v粘贴+a全部选中+x剪贴+z撤销+s保存+shift+esc键是任务管理器 alt+F4关闭窗口 空格 enter window+r弹出运行比如cmd命令窗口+e可以打开我的电脑+ta ......
@Async异步任务与线程池
写在前面:本篇文章是关于使用@Async进行异步任务,并且关于线程池做了一个初步的梳理和总结,包括遇到过的一些坑 在工作中用到的一些线程池 以下代码已做脱敏处理 1.newCachedThreadPool private void startTask(List<String> usersList){ ......
守护线程和用户线程有什么区别呢?
在 Java 中通常有两种线程:守护线程(Daemon Thread)和用户线程(User Thread)。 守护线程:是一种特殊的线程,在后台默默地完成一些系统性的服务,比如垃圾回收线程、JIT 线程都是守护线程 用户线程:可以理解为是系统的工作线程,它会完成这个程序需要完成的业务操作。如我们使用 ......
常用编码格式
页面编码 在网页设置网页编码 在<head></head>中加入设置特定html标签<meta charset="utf-8" />这样页面的编码就会变成utf-8 ,如果没有设置编码就会使用默认的编码,而浏览器默认编码与之不同就会出现乱码。 常用的有三种格式分别是 utf-8、gbk、gbk231 ......