线程synchronized java
JAVA加密文件小工具
以前用C做了一个加密文件的小工具,很有成就感。 那么JAVA要怎么做呢。 有关\(API\) FileInputStream InputStreamReader FileReader 下文默认已了解基本原理。 字节与字符 要加密肯定是直接操作字节了。 但我们先看看JAVA常用的字符读入方式。 ISR ......
【多线程】JAVA中的锁
锁作用 java中的锁是用来控制多个线程访问共享资源的方式。一般来说一个锁能够防止多个线程同时访问共享资源(读写锁,读锁是共享锁允许多个线程读共享资源)。 锁的分类 乐观锁:在访问资源时,认为竞争不总是存在,所以在访问共享资源时不加锁,而是在更新数据时判断共享资源是否被其他线程修改(根据版本号/时间 ......
JAVA获取月份的所有日期
JAVA获取月份的所有日期以下是5月分获取的本月,以及上个月4月,和下个月6月的所有日期; 若需要其他月日期数据,可以以下代码中的此方法进行修改 //设置月份为本月calendar.add(Calendar.MONTH,0 );//设置月份为上个月calendar.add(Calendar.MONT ......
【Java 并发】同步器
目录同步器Semaphore原理示例Exchanger总结CountDownLatchCyclicBarrier原理应用场景示例Phaser示例 同步器 JUC 包下的工具类除了 locks,还包含其他的工具类,如 Semaphore、CountDownLatch、CyclicBarrier、Exc ......
【Java 并发】线程同步
目录线程同步条件对象synchronized 关键字监视器volatile 线程同步 条件对象 通常线程进入临界区,却发现需要满足某一个条件后,才能继续执行,这时,就需要使用一个条件对象,来管理那些已经获得了一个锁,但是,却不做有用工作的线程。这些条件对象经常被称为条件变量(Conditional ......
java流程控制
一、分支结构 1、if 分支 2、switch 分支 执行流程: ① 先执行表达式的值,再拿着这个值去与 case 后的值进行匹配 ② 与哪个 case 后的值匹配为 true 就执行哪个 case 块的代码,遇到 break 就跳出 switch 分支 ③ 如果全部 case 后值与之匹配都是fa ......
Error:(4, 13) java: -source 1.5 中不支持默认方法 (请使用 -source 8 或更高版本以启用默认方法)
Error:(4, 13) java: -source 1.5 中不支持默认方法 (请使用 -source 8 或更高版本以启用默认方法) 检查 ......
Android——主线程给子线程发送消息——子线程有自己的looper
xml: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="mat ......
Synchronized
Synchronized C++多线程编程的痛点 - 锁与数据是分开的 struct RequestHandler { RequestQueue requestQueue_; SharedMutex requestQueueMutex_; std::map<std::string, Endpoint ......
Java IO
目录IOJava IO IO IO 即 Input/Output,输入和输出。数据输入到计算机内存的过程即输入,反之输出到外部存储(比如数据库,文件,远程主机)的过程即输出。 数据传输过程类似于水流,因此称为 I/O 流。 Java IO IO 流在 Java 中分为输入流和输出流,而根据数据的处理 ......
Android——子线程发消息给主线程进行页面信息更新
一、认识Looper和Handler对象 当主线程诞生时,就会去执行一个消息循环(Message Loop),以便持续监视它的消息队列(Message Queue简称MQ)。 当UI事件发生了,通常会立即丢一个Message给MQ,此时主线程就立即从MQ里边取出该消息并处理。 比如,用户在UI界面上 ......
Android——子线程刷新UI界面
xml配置文件: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_par ......
idea默认不能选java8
——答案来源博客评论区 解决方法,将Server URL更改为—— https://start.aliyun.com/ 解决结果 ......
设计模式Java实战,彻底学会
这是全网最强的Java设计模式实战教程。此教程用实际项目场景,结合SpringBoot,让你真正掌握设计模式。 网址是:Java设计模式实战专栏介绍 - 自学精灵(也可以百度搜索“自学精灵”)。 本设计模式专栏的威力 用Java实战来介绍常用的设计模式,让你真正掌握设计模式。 用项目实际场景进 ......
线程池
一、Executor 利用Executors创建不同的线程池满足不同场景的需求 1、newFixedThreadPool(int nThreads) 制定工作线程数量的线程池 2、newCachedThreadPool() 处理大量短时间工作任务的线程池 试图缓存线程并重用,当无缓存线程可用时,就会 ......
java语法
一、数据类型 1、基本数据类型 2、引用数据类型:String 二、类型转换 1、自动类型转换 存在不同类型的变量赋值给其他类型的变量 (1)类型范围小的变量,可以直接赋值给类型范围大的变量 2、表达式自动类型转换 3、强制转换 注意:强制类型转换可能会造成数据(丢失)溢出 浮点型转成整型,直接丢掉 ......
System.InvalidOperationException: Synchronous operations are disallowed. Call ReadAsync or set AllowSynchronousIO to true instead
报错: System.InvalidOperationException: Synchronous operations are disallowed. Call ReadAsync or set AllowSynchronousIO to true instead 产生原因: 在做 net6 we ......
Java流程控制-Scanner对象
Scanner对象 我们可以通过 Scanner 类来获取用户的输入 基本语法 Scanner s = new Scanner(System.in); 通过 Scanner 类的 next() 与 nextLine() 方式来获取输入的字符串,在读取之前我们一般需要使用 hasNext() 与 ha ......
Java Lambda 表达式
目录简介语法区别 简介 Lambda 表达式是 JDK 8 的一个新特性,可以取代大部分的匿名内部类,写出更优雅的Java代码,尤其在集合的遍历和其他集合操作中,可以极大地优化代码结构。但 Lambda 表达式并不能取代所有的匿名内部类,只能用来取代函数接口(Functional Interface ......
JAVA类和对象
[JAVA的类和对象] 类是一个抽象的概念。 对象则是能用来实现具体功能。 例如:Scanner sc=new Scanner(System.in) Scanner 是类,sc是对象。 我们一般通过sc.xxx来实现输入。 类 类定义了成员变量和成员方法 类是一种引用数据类型 使用 1.导包 -如果 ......
检测IPV6地址是否合法的Java工具类
import java.math.BigInteger; import java.util.Arrays; import java.util.HashSet; import java.util.Set; public class ipv6 { private static final Charact ......
【从零开始重学Java】第3天
前情提示 从零开始重学Java 第0天 从零开始重学Java 第1天 从零开始重学Java 第2天 表达式和流程控制语句 表达式 操作数 常量 (只有简单数据类型和String) 变量 运算符 位运算只对字符char和整型生效 Java里 <<(算术)左移 >>(算术)右移 >>>无符号(逻辑)右移 ......
JAVA方法重载(函数)
[JAVA方法] 方法重载 重载指的是多个方法名称相同,但参数列表不同 参数列表不同分为: 参数个数不同 参数类型不同 参数的多类型顺序不同 注意事项 一个表达式中的最后结果以数据类型范围大的为结果的数据类型。 无法因为返回值类型不同进行重载。 参数传递 对于引用类型,形式参数的操作会影响实际参数。 ......
java 包和访问修饰符
免责声明:java基础资料均来自于韩顺平老师的《循序渐进学Java零基础》教案,具体视频内容可以去B站观看,这些资料仅用于学习交流,不得转载用于商业活动 java 包和访问修饰符 1.1 包 包的三大作用 区分相同名字的类 当类很多时,可以很好的管理类 控制访问范围 基本语法:pagckage co ......
java面向对象:类(二)
1.Java面向对象:类 1.1 作用域 1.1.1 基本使用 面向对象中,变量作用域是非常重要的知识点 在java编程中,主要的变量就是属性(成员变量)和局部变量 我们所获得局部变量一般是指在成员方法中定义得变量 java中作用域得分类: 全局变量:也就是属性,作用域为整个类,可以不赋值,直接使用 ......
swoole运行Master 进程、Reactor 线程、Worker 进程、Task 进程、Manager 进程的区别与联系
Master 进程、Reactor 线程、Worker 进程、Task 进程、Manager 进程的区别与联系 Master 进程 Master 进程是一个多线程进程 Reactor 线程 Reactor 线程是在 Master 进程中创建的线程 负责维护客户端 TCP 连接、处理网络 IO、处理协 ......
java基础语法(上):变量与运算符
关键字与保留字 关键字 定义:被Java语言赋予了特殊含义,用做专门用途的字符串(单词) 特点:关键字中所有字母都为小写 官方地址:https://docs.oracle.com/javase/tutorial/java/nutsandbolts/_keywords.html 保留字 Java保留字 ......
Java编译原理
概述 java语言的"编译期"分为前端编译和后端编译两个阶段。前端编译是指把*.java文件转变成*.class文件的过程; 后端编译(JIT, Just In Time Compiler)是指把字节码转变成机器码的过程。在编译原理中, 将源代码编译成机器码, 主要经过下面几个步骤: Java中的前 ......
Java基础语法(下):程序流程控制
程序流程控制 顺序结构 分支结构 分支语句1: if-else结构 if-else使用说明 1、条件表达式必须是布尔表达式(关系表达式或逻辑表达式)、布尔变量 2、语句块只有一条执行语句时,一对{}可以省略,但建议保留 3、if-else语句结构,根据需要可以嵌套使用 4、当if-else结构是“多 ......