线程lesson java 03
java -- 一些带坑的题
第一题 public class MyClass{ private int num ; public void method(){ System.out.prinltn(num); }}public class Test{ public static void main(String[] args) ......
【Java】类与对象
类与对象是面向对象地核心和本质。 类的声明 类定义了一种新的数据类型,多个对象所共有的属性和方法需要组成一个单元,称为“类”,因此类是具有相同属性和共同行为的一组对象的集合。 类的声明就是定义一个类,类一旦定义,就可以用这种新类型来创建该类型的对象,这样,类就是对象的模板,而对象就是类的一个具体”实 ......
【GIT】学习day03 | 如何生成并配置SSH公钥
快速笔记: 1、注册并激活码云账号 2、生成并配置SSH公钥(运行ssh -t git@gitee.com 检测SSH公钥是否配置成功) 3、创建空白的码云仓库 4、把本地项目上传到码云对应的空白仓库中 双击进入 打开里面复制公钥 添加到gitee上即可 新建仓库步骤 然后创建就完事了,不过一开始是 ......
【Java】面向对象 封装 继承 多态性
面向对象(Object Oriented,oo),当前软件开发的主流设计范型,是一种编程语言模式。 面向对象主要包括,面向对象的分析(OOA)、面向对象的设计(OOD),面向对象编程(OOP) OOA 就是以面向对象“类”的概念去认识问题、分析问题。 OOD是在OOA的基础上设计数据模型,从而建立索 ......
java异常处理
Java 异常处理 异常是程序中的一些错误,但并不是所有的错误都是异常,并且错误有时候是可以避免的。 比如说,你的代码少了一个分号,那么运行出来结果是提示是错误 java.lang.Error;如果你用System.out.println(11/0),那么你是因为你用0做了除数,会抛出 java.l ......
【线程基础】【一】线程的创建方式
1 前言 本节开始我们来回顾下线程基础相关的东西,最近在复习所以来做一些笔记哈,这节我们来讲讲创建线程的方式。 2 创建分类 Java提供了两种线程的创建方法,第一种是继承Thread类;第二种是实现Runable接口,并将Runnable实例传递给Thread类。详细的可以参考官方文档哈:http ......
梦断代码读书笔记03
很高兴终于看完了梦断代码这本书,不得不感慨这本书的独到魅力所在,它所囊括的内容对我们的软件开发真的有很大帮助。chandler团队继续向前探索,遇到了难题在团队坚持不懈执着下依然一一解决,他们在软件开发过程中遇到的问题可能就是我们以后要遇到的问题。作者通过对chandler团队的探索告诉我们软件开发 ......
java切换版本:Unrecognized option: --version
背景:在环境变量中配置了3个版本的JDK,在切换版本时遇到了以下几个问题: 环境变量的分布如下: 问题1:JDK切换时,尽管将需要使用的JDK命名为JAVA_HOME,但是查看版本时,仍然没有切换成功。 解决方案1:需要在系统变量->Path中,将相应的JDK路径上移,至少要超过之前版本的JDK路径 ......
Java异常
一、理论部分 1、Java异常架构与异常关键字 Java异常简介 Java异常是Java提供的一种识别及响应错误的一致性机制。 Java异常机制可以使程序中异常处理代码和正常业务代码分离,保证程序代码更加优雅,并提高程 序健壮性。在有效使用异常的情况下,异常能清晰的回答what, where, wh ......
java实现自动售货机
自动售货机主要实现两大功能:售卖和管理。 一、对于售卖,购买者只要可以看见有什么卖,卖多少钱就可以。 先给售货机一个初始的商品列表。在储存商品时我用的是链表写的,方便遍历。 public void initProduct(){ product a=new product(); a.setID(1); ......
Qt 多线程使用形式
Qt 多线程 QThread、QThreadPool使用场景 QThread 优点: 可以使用信号槽进行通信 缺点: 需要自己管理资源,线程的创建和释放,都需要自己手动管理,并且,频繁的创建和删除会造成比较大的内存开销。 适用场景: 线程不会被频繁的创建和删除,常驻内存的线程。 QThread 有两 ......
Java入门6(String和封装类)
使用第三方jar包,完成get/set操作 Lombok,结合特殊的注解,实现setter和getter的自动生成 导入jar包 使用插件Lombok 在类里import 即可使用 import lombok.AllArgsConstructor; import lombok.Data; impor ......
java8 BigDecimal 除法保留三位小数 (舍去小数三位后的数,四舍五入)
BigDecimal a = new BigDecimal("9"); BigDecimal b = new BigDecimal("15"); //舍去小数三位后的数 BigDecimal c = b.divide(a, 3, RoundingMode.HALF_UP); System.out.p ......
进程上下文切换、线程上下文切换、中断上下文切换的区别
概念 CPU 上下文切换指的是 CPU 从一个进程或线程切换到另一个进程或线程的次数。当 CPU 执行一个进程或线程时,会为其建立一个执行上下文(Context),当 CPU 切换到另一个进程或线程时,需要保存当前的上下文并建立新的上下文,这个过程就是上下文切换。 上下文切换会消耗一定的 C ......
升级Java17后Maven中使用bouncycastle加解密遇到JCE cannot authenticate the provider BC的解决办法
网上找了很多办法,逐一试过之后,发现有效的方式为修改打包方式: <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>3.3.0</version ......
java12_String类
String类相关 (一)继承关系: 接口解释: Serializable:说明String可以串行化,可以在网络传输。 Comparable:说明String可以进行比较。 CharSequence:字符序列接口。 Constable, ConstantDesc:暂时还没有碰到,遇见再说**(挖坑 ......
Java 多线程(三)多线程安全(synchronized)锁,三大特性
线程安全问题? 什么是线程安全问题?简单的说,当多个线程在共享同一个变量,做读写的时候,会由于其他线程的干扰,导致数据误差,就会出现线程安全问题。 比如说,多个窗口同时卖票这个案例: 1 public class ThreadTrain2 implements Runnable { 2 privat ......
程序的进程和线程(基础)
程序简单来说就是由代码组成的对象 当你打开程序时就会产生进程 进程会占用一定的空间内存 当使用进程时,会产生对应的线程(可以同时实现多操作多线程) ......
java注解的定义及应用
1.Java注解的描述 java注解又叫做java标注,是java的一种注释机制,在jdk5.0引入。其可以作用在类、方法、变量、参数和包上。另外,其可以通过反射来获取注解标注的内容。可以说注解就是实现了Annotation的接口 2.Java注解的分类 Java注解分类的话,大致可以分为三类,分别 ......
Java开发笔记15(树的列表查询)
1. Controller: /** * 通过id查询树列表 * @param id */@GetMapping("/listById")private Result listByParentId(String id) { String stationTelecode = getStation(ge ......
Java 多个相同关键字进行文字识别
public static void main(String[] args) throws Exception{ String strText = "被申请人:第一家测试有限公司。 住所地:第一家测试有限公司地址,统一社会信用 代码:123456789。 联系电话:1111. 被申请人:第二家测试有 ......
一个Java线程的线生(线生 vs 人生)
java线程的使用 1. Java多线程概述 下面我们看下Java的多线程 作者: 博学谷狂野架构师 GitHub:GitHub地址 (有我精心准备的130本电子书PDF) 只分享干货、不吹水,让我们一起加油!😄 1.1 java天生就是多线程的 一个Java程序从main()方法开始执行,然后按 ......
Java中实现String字符串用逗号隔开
public static void main(String[] args) throws Exception{ String strText = "421542"; String information = ""; int start = 0; int end = 1; String digit ......
Java Web实现文件上传下载功能实例解析
第一点:Java代码实现文件上传 FormFile file = manform.getFile(); String newfileName = null; String newpathname = null; String fileAddre = "/numUp"; try { InputSt ......
Java文件下载代码及中文文件名不显示的问题
@GetMapping("/downloadOrderDemo") public ResponseEntity<Resource> downloadFile() throws IOException { // 读取文件内容 File file = new File(System.getPropert ......
linux——多线程
重要概念 在Linux中没有专门用于多线程的调度算法或者数据结构,而是一种特殊的轻量级进程,拥有独特的task_struct结构体,并共享某些资源。 实现多线程 1. 利用POSIX多线程API开发 包含头文件pthread.h API 含义 pthread_create 创建 pthread_jo ......
Java开发笔记14(递归查询树的层级)
/** * 根据id查询树节点层级(0、1、2...) * @param id 主键id,code * @return 该树节点的层级 */ @Overridepublic Integer findLevelById(String id, String stationTelecode) { coun ......
线程委任出现冲突
当我们在C#中编写委托事件进行传递参数来改变对象属性时,容易引起另一个线程拥有该对象的现象,这是线程之间的关联问题,要想解决此问题,我们就要将委托回来的线程对象和当前函数中的线程对象相关联。 //将出现问题的代码放在此函数中 Dispatcher.Invoke( new Action( delega ......
Qt多线程之QMutex
QMutex 同一个QMutex lock() 时,其他的 lock() 操作要等待 locked 的地方 unlock() (可以保证顺序执行) 测试代码: #include <iostream> #include <QThread> #include <QMutex> using namespa ......
Java第一章—内存分配
Java内存分配 栈:方法运行时使用的内存,比如main方法运行,进入方法栈中运行。 堆:存储对象或者数组,new来创建的,都存储在堆内存。 方法区:存储可以运行的class文件 本地方法栈:JVM在使用操作系统功能的时候使用,和我们开发无关。 寄存器:给CPU使用,和我们开发无关。 总结: 只要是 ......