threadlocal 20230615 java lang

高级java高并发,高性能,分布式,高可用,负载均衡,系统架构实战

提到锁,大家肯定想到的是sychronized关键字。是用它可以解决一切并发问题,但是,对于系统吞吐量要求更高的话,我们这提供几个小技巧。帮助大家减小锁颗粒度,提高并发能力。 初级技巧-乐观锁乐观锁使用的场景是,读不会冲突,写会冲突。同时读的频率远大于写。 悲观锁的实现: 悲观的认为所有代码执行都会 ......
分布式 高性能 架构 实战 系统

Java语言的特性

面向对象:Java 是一种纯面向对象的编程语言,这意味着 Java 中所有的代码都是以对象为基础的。在 Java 中,你可以通过定义类来创建对象,这些对象可以具有状态(属性)和行为(方法)。Java 支持继承、多态和封装等面向对象的概念,使代码更加清晰、易于扩展和维护。 平台无关性:Java 的平台 ......
特性 语言 Java

Java python C++

Java 和 Python 的区别 编程范式:Java 是一种面向对象的编程语言,而 Python 支持多种编程范式,包括面向对象、函数式和命令式等。这意味着 Python 在某些情况下可以比 Java 更简洁、易于理解和编写。 代码可读性:Python 是一种非常易于阅读和编写的编程语言,其语法和 ......
python Java

每日汇报 第四周第一天 JAVA中的I/O流

今日所学: 明确输入、输出的方向;明确字节流和字符流在操作流的数据单元方面上的异同;掌握Inputstream 类、Reader类、OutputStream 类和 Writer类的常用方法;熟练掌握使用 File类的3种构造方法创建文件对象 明日计划: 继续进行I/O流的学习,考科三 遇到困难:练车 ......
JAVA

Java中的集合类

一. 介绍 在Java中,集合是一种用于存储和操作多个元素的容器。它更方便地操作和管理一组对象,集合类提供了比传统的数组更强大和灵活的功能,可以动态地添加、删除和查找元素,以及进行排序、过滤等操作。集合类有一个共同特点,就是它们只容纳对象,如果想在集合中使用基本类型数据,可以使用其对应的包装类。 集 ......
Java

Java方法

### 0x01 认识方法 #### 1、什么是方法 方法是一种语法结构,它可以把一段代码封装成一个功能 #### 2、为什么要用方法 以方便重复调用。方法提高了代码的复用性,让程序的逻辑更清晰。 ### 0x02 方法的使用 #### 1、方法的定义及其调用 ```java 修饰符 返回值类型 方 ......
方法 Java

Java流程控制

# Java流程控制 ## 用户交互Scanner 通过Scanner类来获取用户的输入 基本语法: ```java Scanner s = new Scanner(System.in); ``` 通过Scanner类的next()与nextLine()方法获取输入的字符串,在读取前我们一般需要使用 ......
流程 Java

学习java第4天

HelloWorld 随便新建一个文件夹,存放代码 新建一个java文件 - 文件后缀名为.java - Hello.java - [注意点]系统可能没有显示文件后缀名,我们需要手动打开 编写代码 public class Hello{ public static void main (String ......
java

Docker部署Java应用[转]

练习要求: 在CentOS Linux release 7.7.1908 (Core)中,先拉一个Centos镜像,然后在光秃秃的centos镜像基础上把项目环境搭建好,然后再提交到自己的docker仓库里。 操作环境: 虚拟机中安装好的CentOS Linux release 7.7.1908 ( ......
Docker Java

Java-多线程-八股文

线程安全的理解? ``` 线程安全说的是,当多个线程并发访问互斥资源时,读写互斥资源的代码逻辑能正常处理,获得正确结果,不会互相干扰的情况。 ``` 守护线程的理解? ``` 守护线程是与普通线程相区分的概念,用户一般使用的就是普通线程,普通线程有自身独立的生命周期,而守护线程的生命周期取决于普通线 ......
八股文 八股 线程 Java

Java-Day-32( 多用户即时通信系统 —— 文件传输 + 服务器推送新闻 + 离线留言 )

# Java-Day-32 ## 多用户即时通信系统 ### 文件传输 - 思路: - 客户端里先把文件读取到客户端为字节数组,把文件对应的字节数组封装到 message 对象,内含文件内容、sender、getter,将 message 对象发送给服务端 - 拆解 message 对象获取 get ......
Java-Day 服务器 文件 用户 系统

Java-JVM-八股文

线程共享区 ![](https://img2023.cnblogs.com/blog/3090785/202306/3090785-20230628171602882-13131299.png) ``` 堆区与方法区是所有线程共享的 栈区:主要存放基本数据类型与对象引用(仅限局部变量,成员变量不管是 ......
八股文 八股 Java-JVM Java JVM

自定义java@注解

自定义注解主要用于抽象出重复代码,以减少枯燥无味的重复工作量 举例:创建Redis分布式锁注解 步骤: 1. 新建interface接口 ``` @Target(ElementType.METHOD) //描述注解使用范围 @Retention(RetentionPolicy.RUNTIME)//设 ......
注解 java

Java处理子父级菜单的方式二

处理存在子父级关系的数据是写代码的过程中常见的操作,前面讲解过使用递归的方法来做, 可以参考这篇博客 https://www.cnblogs.com/yilangcode/p/16831867.html 今天来聊聊一种新的处理方式。使用List集合多轮遍历,添加子父级菜单信息。 建表SQL DROP ......
菜单 方式 Java

java序列化和反序列化

感觉网上很多博客对这个的解释实在太官方了,也没说为什么一定要实现序列化接口。 去看看rpc框架源码,或者java网络编程或者向磁盘进行序列化就知道了。 首先这是个标记接口,就是用来告诉程序某某对象是可序列化对象,像dubbo框架,要传输对象就必须序列化。 网络编程已经告诉你了,想要向另一个网络输出的 ......
序列 java

Java性能优化-测试try-catch放在循环内和外的性能对比与业务区别

场景 Java中使用JMH(Java Microbenchmark Harness 微基准测试框架)进行性能测试和优化: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/131723751 使用如上方式测试Java中try-catc ......
性能 try-catch 业务 catch Java

day07 7.1 Java中的面向对象之类与对象

# day07 7.1 Java中的面向对象之类与对象 # 【一】类与对象 ## 【1】类定义规范 - 类与对象的关系 - 类 是实体对象的概念模型,笼统的,不具体的, - 比如人类、动物类、鸟类 - 对象 又称为实体,类具体化的表现 - 小红/小明 - 小猫一号/小狗一号 - 对象中有属性,有方法 ......
对象 Java day 7.1 07

Java性能优化-测试数组和链表在查询和添加删除时性能对比

场景 Java中使用JMH(Java Microbenchmark Harness 微基准测试框架)进行性能测试和优化: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/131723751 上面在使用JMH时测试了Java中数组和链 ......
性能 数组 Java

java发展史

java的发展史 1972年C语言诞生 贴近硬件,运行快,效率高 操作系统,编译器,数据库,网络系统等 指针和内存管理 1982年C++诞生 面向对象 兼容C 图形领域,游戏等 JAVA发展 高可用,高并发,高性能。 构建工具:Ant,Maven,Jekins 应用服务器: Tomact,Jetty ......
发展史 java

WSL环境中安装过Java并配置VSCode

WSL环境已经配置好,现在开始在Ubuntu里面安装Java! 一 下载tar包方式手动安装 1.1 下载地址:https://www.oracle.com/java/technologies/downloads/ 1.2 在上面的地址中选择合适的版本进行下载,然后将下载的安装包拷贝到wsl系统所在 ......
环境 VSCode Java WSL

Java扩展Nginx之六:两大filter

### 欢迎访问我的GitHub > 这里分类和汇总了欣宸的全部原创(含配套源码):[https://github.com/zq2599/blog_demos](https://github.com/zq2599/blog_demos) ### 本篇概览 - 本文是《Java扩展Nginx》系列的第 ......
filter Nginx Java

java中synchronized和Lock的区别?

synchronized和Lock是Java中两种不同的实现线程同步的机制。下面是它们之间的主要区别: 可重入性: synchronized是可重入的,同一个线程可以多次获得同一个锁。 Lock也是可重入的,同一个线程可以多次获得同一个锁。但需要手动释放相同次数的锁。 粒度: synchronize ......
synchronized java Lock

JAVA----线程池

线程池 线程的状态:1新建状态(没启动) 2 可运行状态(可能在运行,也可能等待cpu时间片) 3 阻塞(等待获取排他锁,或者等待其他线程唤醒,不醒无法获取时间片)4 限期等待(一段时间后被系统自动唤醒) 5 死亡:可能任务执行结束或产生异常结束。 线程池的状态: RUNNING:运行状态,可以接受 ......
线程 JAVA

JAVA面试题----Redis

Redis redis快的原因:完全基于内存操作,请求都在内存中所以快;它是单线程,省去了线程切换的时间和锁竞争的开销。采用io多路复用,多路指多个网络,对单个线程进行复用,避免了大量无用的操作。 为什么使用redis:速度快,支持丰富的数据类型,redis集群不支持事务,内部单节点支持事务,操作都 ......
Redis JAVA

JAVA面试题----MYSQL

MYSQL。 mysql使用的引擎是InnoDB,它有四大特性:1 插入缓冲 2 二次写 3 自适应hash索引(ahi),就不用走B+树了;4预读。使用InnoDB因为它是事务安全的存储引擎,它具备提交,回滚以及崩溃恢复的功能以及保护用户数据。 MYSQL的索引分类:1主键索引2,唯一索引 3.复 ......
MYSQL JAVA

Java学习笔记--Markdown

Markdown #空格+标题名字回车 为一级标题 ##空格+标题名字回车 为二级标题 字体 hello word 黑体 前后各两个** 两边各一个*是斜体 两边各三个星号是 黑体且斜体 两边各两个波浪号是删除 引用 大于号+空格表示引用 三个-回车会变成横线 三个*回车会变成横线 图片 网上的图片 ......
Markdown 笔记 Java

Java方法

# Java方法 ## 何为方法? - **System.out.println(),那么它是什么呢?** - **Java方法是语句的集合,它们在一起执行一个功能。** - **方法是解决一类问题的步骤的有序组合** - **方法包含于类或对象中** - **方法在程序中创建,在其他方法被引用** ......
方法 Java

study java Day01

Markdown学习 标题 三级标题 四级标题 字体 Hello,World! Hello,World! Hello,World! Hello,World! 引用 选择狂神说java 分割线 图片 超链接 点击跳转到秦始皇帝陵博物院 列表 A B C A B C 表格 名字性别生日 张三 男 199 ......
study java Day 01

study java Day02

基本的Dos命令 打开CMD的方式 开始+系统命令提示符 Win键+R+输入CMD打开控制台(推荐) 在任意位置,按住shift键+鼠标右键点击在此处打开命令行窗口 资源管理器的地址栏前面加上cmd Windows系统+命令提示符+以管理员身份运行 常用的DOS命令 #盘符切换#查看当前目录下的所有 ......
study java Day 02

Java数组

### 0x01 认识数组 #### 1、什么是数组 数组就是用来存储一批同种类型数据的容器。 ```java int[] arr = {20, 10, 80, 60, 90}; String[] names = {"张三", "李四", "王二"}; ``` #### 2、为什么要用数组 假如用变 ......
数组 Java