线程lesson java 03
java 格式化输出当前时间
/** * 打印当前时间 * * @return */public static void printCurrentTime(String param) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); // ......
linux的进程与线程,task_struct结构体
linux 的进程与线程在源码中都对应到同一个结构体task_struct, 它位于include/linux/sched.h中, 他有很多很多成员, 下面我们分析一下主要成员及其作用。 1. 任务列表 有了任务列表, 操作系统就能知道当前任务的下一个任务和上一个任务了。 为什么是双向链表呢?因为可 ......
Mac安装Java
1.安装openjdk17 brew install openjdk@17 2.把homebrew安装的openjdk17软链接到系统目录,并检查版本 sudo ln -sfn $(brew --prefix)/opt/openjdk@17/libexec/openjdk.jdk /Library/ ......
java中的sleep方法
Java的sleep方法主要用于让当前线程暂停一段时间,以便其他线程有机会执行。通常情况下,sleep方法被用于以下几种场景: 实现简单的定时器功能,例如每隔一段时间执行一次某个操作。 控制不同线程之间的执行顺序,例如在多线程编程中,可以利用sleep方法来控制各个线程之间的执行顺序。 降低程序运行 ......
Java对象组成部分
节选自《深入理解JAVA虚拟机》: 在HotSpot虚拟机中,对象在内存中存储的布局可以分为3块区域:对象头(Header)、实例数据(Instance Data)和对齐填充(Padding)。 HotSpot虚拟机的对象头包括两部分信息,第一部分用于存储对象自身的运行时数据,如哈希码(HashCo ......
Java学习笔记(七)
1、继承的注意事项 子类继承父类时,没有继承父类的构造方法 当一个类没有使用extends指定继承哪个父类时,则系统默认继承Object类 在Java中, Object类是所有类的父类也叫做超类 子类继承了父类,就继承了父类的方法和属性。 Java不支持多继承,但支持多层继承 2、对方法重写的理解 ......
Java的初始化块
三种初始化数据域的方法: 在构造器中设置值 在声明中赋值 初始化块(initialization block) 初始化块 在一个类的声明中,可以包含多个代码块。只要构造类的对象,这些块就会被执行。 class Employee { private static int nextId; private ......
Java自定义生成证书图片
1、引入依赖 <!-- cmyk格式图片转换 --> <dependency> <groupId>org.sejda.imageio</groupId> <artifactId>webp-imageio</artifactId> <version>0.1.6</version> </dependen ......
java获取当前年份、月份和日期
创建一个Calendar类的实例对象,Calendar类属于java.util包Calendar calendar = Calendar.getInstance(); 获 SimpleDateFormat format = new SimpleDateFormat(“yyyy-MM-dd”); // ......
springboot入门时,发现Java版本与Spring boot版本无法对应导致错误的问题解决
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:sc ......
基于Java开发支持全文检索、工作流审批、知识图谱的应用系统
一、项目介绍 一款全源码,可二开,可基于云部署、私有部署的企业级知识库云平台,应用在需要进行常用文档整理、分类、归集、检索的地方,适合知识密集型单位/历史文档丰富的单位,或者大型企业、集团。 为什么建立知识库平台? 二、项目所用技术 springboot+vue+tinyMce+activiti+e ......
C# WinForm线程里操作控件
做winform程序,避免不了的要在线程里控制窗体上的控件,直接在子线程里操作控件会报错“线程间操作无效,从不是创建控件***的线程访问它”。 解决方法: private void Form1_Load(object sender, EventArgs e) { Thread t1 = new Th ......
【单例设计模式原理详解】Java/JS/Go/Python/TS不同语言实现
简介 单例模式(Singleton Pattern)属于创建型设计模式,这种模式只创建一个单一的类,保证一个类只有一个实例,并提供一个访问该实例的全局节点。 当您想控制实例数目,节省系统资源,并不想混用的时候,可以使用单例模式。单例有很多种实现方式,主要分为懒汉和饿汉模式,同时要通过加锁来避免线程安 ......
java解决表达式计算问题(转)
这是LeetCode上的一道题,因为特别具有代表性,所有记录在这里。 题目227.给你一个字符串表达式 s ,请你实现一个基本计算器来计算并返回它的值。 整数除法仅保留整数部分。 你可以假设给定的表达式总是有效的。 注意:不允许使用任何将字符串作为数学表达式计算的内置函数,比如 eval() 。 示 ......
C#多线程区域性同步主程序区域性
开发多语种软件时,发现主程序设置了其他语种,新开辟的线程总是默认中文。 .Net4.5以后可以使用以下方式: var culture = new CultureInfo("en-US"); CultureInfo.DefaultThreadCurrentCulture = culture; Cult ......
Java面向对象编程
类与对象的关系 类是对象的抽象,对象是类的具体 对象 内存上存放对象的图解 引用和复制区别 对象的引用 Person p1 = p2; 对象的复制 对象的属性(也叫字段field、也叫成员变量) 访问对象属性的语法 cat.属性 属性的细节 定义属性格式:访问修饰符 属性类型 属性名; (访问修饰符 ......
《asyncio 系列》1. 什么是 asyncio?如何基于单线程实现并发?事件循环又是怎么工作的?
楔子 许多应用程序,尤其在当今的 Web 应用程序领域,严重依赖 IO 操作。这些类型的操作包括从 Intermet 下载网页的内容、通过网络与一组微服务进行通信,或者针对 MySOL、Postgres 等数据库同时运行多个查询。Web 请求或与微服务的通信可能需要数百毫秒,如果网络很慢,甚至可能需 ......
Java8使用Stream API转换Map遇到的2种异常报错和解决思路
问题 java8提供了Stream API,配合Lambda表达式,让开发者能对集合对象进行便利、高效的操作。 在日常业务开发中,有个经常用到的场景是将List类型对象转换为Map类型对象,方便后续操作。 在java8之前,这种转换需要先new一个Map对象,遍历list然后通过Map#put来初始 ......
go----day03()
面试 sort list.sort 昨日回顾 # 1 go 基础数据类型 -数字:整数,正整数,浮点数,复数 -字符串: "" `` -单引号引起来的,只能放一个字符 a 中 -实际上是数字表示 20013 -默认是int32 实际上是rune -也可定义为 byte类型或uint8类型 -布尔类型 ......
Java对象内存布局
一、对象在堆内存中布局 Object object = new Object() 一般而言JDK8按照默认情况下,new一个对象占多少内存空间 在HotSpot虚拟机里,对象在堆内存中的存储布局可以划分为三个部分:对象头(Header)、实例数据(Instance Data)和对齐填充(Paddin ......
Java 基础 - :: 的用法
##介绍 它是 Java8 引入的新特性之一,常常被称作为方法引用。使用"::"可以进一步简化一些使用了 lambda 表达式的代码,让代码更加简洁。 可以直接引用已有 Java 类或对象的方法或构造器。方法引用通常与 Lambda 表达式结合使用以简化代码。其使用条件是:Lambda 表达式的主体 ......
java出现class lombok.javac.apt.LombokProcessor错误
###出现:java: java.lang.IllegalAccessError: class lombok.javac.apt.LombokProcessor (in unnamed module @0x3278991b) cannot access class com.sun.tools.jav ......
java 并发编程-基础篇
java 创建线程的三种方法 直接使用 Thread // 创建线程对象 Thread t = new Thread() { public void run() { // 要执行的任务 } }; // 启动线程 t.start(); Runable 配合 Thread 把线程和任务分开。 Runna ......
练习——简单的线程练习
package com.thread_; import java.util.Scanner; /* 在main方法中启动两个线程 第1个线程循环随机打印100以内的整数 直到第2个线程从键盘读取了“Q”命令。 */ public class ThreadExercise { public stati ......
Java Lambda Stream
::方法使用 条件:lambada表达式的主体仅包含一个表达式,且lambada表达式只调用一个已经存在的方法;被引用的方法的参数列表与lambada表达式的输入输出一致 以下是Java 8中方法引用的一些语法: 静态方法引用(static method)语法:classname::methodna ......
java流程控制
scanner 创建一个新的扫描器对象,用于接受键盘数据 Scanner scanner = new Scanner(System.in); //使用next方式接收 String srt = scanner.next(); //使用nextLine方式接收 String srt = scanner ......
Go入门基础03
函数高级 给类型重命名: 函数的参数和返回值都是类型的一部分,函数可以赋值给一个变量 1. 例:type MyFunc func(int, int) int MyFunc就是我们将func(int, int) int重新定义了一下类型,以后在定义函数类型的是时候直接使用MyFunc就是代替了func ......
【Java设计模式】装饰者设计模式
1. 装饰者模式(Wrapper)概念 动态地给一个对象增加一些额外的职责(增强),增加对象功能来说,装饰模式比生成子类实现更为灵活。装饰模式是一种对象结构型模式。在装饰者模式中,为了让系统具有更好的灵活性和可扩展性,我们通常会定义一个抽象装饰类(Decorator),而将具体的装饰类作为它的子 ......
docker启动rabbitMQ,通过java创建交换机、队列、绑定
通过docker启动rabbitMQ docker run -d --name rabbitmq -p 5671:5671 -p 5672:5672 -p 4369:4369 -p 25672:25672 -p 15671:15671 -p 15672:15672 rabbitmq:manageme ......
VScode 创建Java项目
1.点击view找到命令行输入java (ctrl+shift+P) src:一般是自己写的源代码的文件 lib:外部引用库等其他的内容 bin:二进制程序,用以存放未来的编译文件等 ......