01 2024 档案

OOM实战演练
摘要:1. 实战:OutOfMemoryError异常 在《Java虚拟机规范》的规定里,除了程序计数器外,虚拟机内存的其他几个运行时区域都有发生OutOfMemoryError(OOM)异常的可能,并且将初步介绍若干最基本的与自动内存管理子系统相关的HotSpot虚拟机参数。 本节实战的目的有两个: 第 阅读全文

posted @ 2024-01-31 18:22 ccblblog 编辑

深入了解java对象分配
摘要:1. 对象的创建 在语言层面上,创建对象通常仅仅是一个new关键字而已,而在虚拟机中,对象(对象限于普通Java对象,不包括数组和Class对象等)的创建又是怎样一个过程呢? 当Java虚拟机遇到一条字节码new指令时, ① 首先将去检査这个指令的参数是否能在常量池中定位到一个类的符号引用,并且检查 阅读全文

posted @ 2024-01-31 11:03 ccblblog 编辑

java运行时内存模型
摘要:1. 概述 在虚拟机自动内存管理机制的帮助下,不再需要为每一个new操作去写配对的delete/free代码,不容易出现内存泄漏和内存溢出问题,看起来由虚拟机管理内存一切都很美好。不过,也正是因为Java程序员把控制内存的权力交给了Java虚拟机,一旦出现内存泄漏和溢出方面的问题,如果不了解虚拟机是 阅读全文

posted @ 2024-01-30 13:44 ccblblog 编辑

概述
摘要:1. Java技术体系所包括的内容 Java ME(Micro Edition): 支持Java程序运行在移动终端(手机、PDA)上的平台,对JavaAPI有所精简,并加入了移动终端的针对性支持,这条产品线在JDK6以前被称为J2ME。有一点读者请勿混淆,现在在智能手机上非常流行的、主要使用Java 阅读全文

posted @ 2024-01-29 15:09 ccblblog 编辑

2、mysql中的事务
摘要:1. 事务日志 事务日志可以帮助提高事务的效率。 使用事务日志,存储引擎在修改表的数据时只需要修改其内存拷贝,再把该修改行为记录到持久在硬盘上的事务日志中,而不用每次都将修改的数据本身持久到磁盘。 事务日志采用的是追加的方式,因此写日志的操作是磁盘上一小块区域内的顺序 IO,而不像随机 I0 需要在 阅读全文

posted @ 2024-01-26 17:59 ccblblog 编辑

1、mysql概述
摘要:1. 连接管理与安全性 每个客户端连接都会在服务器进程中拥有一个线程,这个连接的查询只会在这个单独的线程中执行,该线程只能轮流在某个CPU核心或者CPU中运行。服务器会负责缓存线程,因此不需要为每一个新建的连接创建或者销毁线程。 当客户端(应用)连接到MySOL服务器时,服务器需要对其进行认证。认证 阅读全文

posted @ 2024-01-26 17:11 ccblblog 编辑

生产者消费者问题
摘要:1. 概述 生产者-消费者问题(Producer-Consumer Problem)也称有限缓冲问题(Bounded-BufferProblem),是一个多线程同步问题的经典案例。 生产者一消费者问题描述了两类访问共享缓冲区的线程(即所谓的生产者和消费者)在实际运行时会发生的问题。 生产者线程的主要 阅读全文

posted @ 2024-01-26 10:52 ccblblog 编辑

java中内置锁
摘要:1. 概述 Java内置锁是一个互斥锁,最多只有一个线程能够获得该锁,当线程B尝试去获得线程A持有的内置锁时,线程B必须等待或者阻塞,直到线程A释放这个锁,如果线程A不释放这个锁,那么线程B将永远等待下去。 Java中每个对象都可以用作锁,这些锁被称为内置锁。线程进入同步代码块或方法时会自动获得该锁 阅读全文

posted @ 2024-01-25 22:53 ccblblog 编辑

java中的ThreadLocal
摘要:1. ThreadLocal 的基本使用 在Java的多线程并发执行过程中,为了保证多个线程对变量的安全访问,可以将变量放到ThreadLocal类型的对象中,使变量在每个线程中都有独立值,不会出现一个线程读取变量时而被另一个线程修改的现象。ThreadLocal类通常被翻译为线程本地变量类或者线程 阅读全文

posted @ 2024-01-25 21:48 ccblblog 编辑

java线程数量如何确定
摘要:1. 概述 使用线程池的好处 降低资源消耗: 线程是稀缺资源,如果无限制地创建,不仅会消耗系统资源,还会降低系统的稳定性,通过重复利用己创建的线程可以降低线程创建和销毁造成的消耗。 提高响应速度: 当任务到达时,可以不需要等待线程创建就能立即执行 提高线程的可管理性: 线程池提供了一种限制、管理资源 阅读全文

posted @ 2024-01-25 15:14 ccblblog 编辑

java线程池-2
摘要:1. Executors 创建线程池的潜在问题 在很多公司的编程规范中,非常明确地禁止使用Executors创建线程池。 为什么呢?这里从源码讲起,介绍使用Executors工厂方法创建线程池将会面临的潜在问题。 1.1 Executors 创建固定数量的线程池的潜在问题 使用newFixedThr 阅读全文

posted @ 2024-01-25 14:31 ccblblog 编辑

java线程池-1
摘要:1. 概述 Java线程的创建非常昂贵,需要JVM和OS(操作系统)配合完成大量的工作: 必须为线程堆栈分配和初始化大量内存块,其中包含至少1MB的栈内存。 需要进行系统调用,以便在OS(操作系统)中创建和注册本地线程。 Java高并发应用频繁创建和销毁线程的操作将是非常低效的,而且是不被编程规范所 阅读全文

posted @ 2024-01-22 17:41 ccblblog 编辑

java线程的基本操作
摘要:1. 线程名称的设置和获取 在Thread类中可以通过构造器Thread(...)初始化设置线程名称, 也可以通过setName(...)实例方法去设置线程名称,取得线程名称可以通过getName()方法完成。 关于线程名称有以下几个要点: 线程名称一般在启动线程前设置,但也允许为运行的线程设置名称 阅读全文

posted @ 2024-01-19 15:56 ccblblog 编辑

java线程核心原理
摘要:1. 线程的调度与时间片 1.1 java线程与操作系统 现代操作系统(如Windows、Linux、Solaris)提供了强大的线程管理能力,Java不需要再进行自己独立的线程管理和调度,而是将线程调度工作委托给操作系统的调度进程去完成。在某些系统(比如Solaris操作系统)上,JVM甚至将每个 阅读全文

posted @ 2024-01-19 12:18 ccblblog 编辑

java创建线程的4种方式
摘要:1.Thread类 一个线程在Java中使用一个Thread实例来描述。Thread类是Java语言一个重要的基础类,位于java.lang包中。Thread类有不少非常重要的属性和方法,用于存储和操作线程的描述信息。 1.1 线程ID 属性: private long tid,此属性用于保存线程的 阅读全文

posted @ 2024-01-19 10:25 ccblblog 编辑

进程线程关系
摘要:1、什么是进程 什么是进程呢?进程是程序的一次启动执行。 什么是程序呢?程序是存放在硬盘中的可执行文件,主要包括代码指令和数据。 一个进程是一个程序的一次启动和执行,是操作系统将程序装入内存,给程序分配必要的系统资源,并且开始运行程序的指令。 进程与程序是什么关系呢?同一个程序可以多次启动,对应多个 阅读全文

posted @ 2024-01-18 17:29 ccblblog 编辑

19、nginx中location语法
摘要:1. 概述 在实际应用中,权限控制的需求更加复杂。例如,对于网站下的img目录允许所有用户访问,但对于网站下的admin目录则仅允许管理员身份的用户访问。此时,仅靠deny和allow这两个权限指令不能满足用户的需求,还需要使用location块来完成相关需求的匹配。 2.location语法 lo 阅读全文

posted @ 2024-01-18 14:05 ccblblog 编辑

18、nginx访问控制
摘要:1.权限控制指令 Nginx中提供了两个用于配置访问权限控制的指令,分别为allow和deny。 allow用于设置允许访问的权限 deny用于设置禁止访问的权限。 在使用时,权限指令后只需跟上允许或禁止的IP、IP段或all即可。 其中all表示所有的。 单个IP指定作用范围最小,all指定作用范 阅读全文

posted @ 2024-01-18 10:44 ccblblog 编辑

17、nginx构建https服务
摘要:1、概述 HTTPS(全称:Hypertext Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单来讲是HTTP 的安全版。即HTTP 下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。 它是一个UR 阅读全文

posted @ 2024-01-17 15:52 ccblblog 编辑

16、nginx缓存机制
摘要:1.proxy_cache相关指令 Nginx的 Web 缓存服务主要由 proxy_cache 相关指令集和fastcgi关指令集构成,前者用于反向代理时,对后端内容源服务器进行缓存,后者主要用于对 FastCGI的动态程序进行缓存。 1.1 proxy_cache 指令 语法: proxy_ca 阅读全文

posted @ 2024-01-17 14:59 ccblblog 编辑

15、nginx的rewrite机制
摘要:1.概述 Rewrite主要的功能就是实现URL的重写。Nginx的Rewrite规则采用PCRE(Perl Compatible Regular Expressions) Perl 兼容正则表达式的语法进行规则匹配。 通过Rewrite规则,可以实现规范的 URL、根据变量来做URL转向及选择配置 阅读全文

posted @ 2024-01-16 18:20 ccblblog 编辑

14、nginx设置浏览器缓存
摘要:1.设置expire头 浏览器缓存可以通过expires 指令输出Header 头来实现,expires 指令的语法如下:语法: expires [time|epoch|max|off] 默认值:expires off 作用域: http、server、location 用途: 使用本指令可以控制 阅读全文

posted @ 2024-01-16 10:54 ccblblog 编辑

13、nginx自动列出目录
摘要:1,配置 user root; worker_processes 4; events { use epoll; worker_connections 1024; } http { server { listen 80; server_name 127.0.0.1; location / { # 指定 阅读全文

posted @ 2024-01-15 18:06 ccblblog 编辑

12、nginx日志配置
摘要:1.nginx日志指令 log_format: 用于设置日志格式 access_log: 用于指定日志文件存放路径、格式、缓存大小 可设置在http、server块中 2.log_format 2.1 log_format语法 log_format name format [format ...] 阅读全文

posted @ 2024-01-15 17:48 ccblblog 编辑

11、nginx配置虚拟主机机
摘要:1.配置文件 # 设置进程数 worker_processes 4; # 设置启动用户,一般情况下设置为当前用户,要不然会出现权限不足 user root; events { worker_connections 1024; } http { # 设置虚拟主机1 server { listen 80 阅读全文

posted @ 2024-01-15 15:28 ccblblog 编辑

10、http模块调用流程
摘要:http模块处理时序图 worker 进程会在一个循环语里反复调用事件模块,检测网络事件。当事件模块检测到某个客户端发起的 TCP 请求时(接收到 SYN包),将会为它建立 TCP连接,成功建立连接后根据nginx.conf文件中的配置会交由HTTP框架处理。 HTTP框架会试图接收完整的HTTP头 阅读全文

posted @ 2024-01-12 16:21 ccblblog 编辑

9、nginx 负载均衡
摘要:1.负载均衡配置 作为代理服务器,一般都需要向上游服务器的集群转发请求。这里的负载均衡是指选择一种策略,尽量把请求平均地分布到每一台上游服务器上。 1.1 upstream 块 语法: upstream name {...} 配置块: http upstream块定义了一个上游服务器的集群,便于反向 阅读全文

posted @ 2024-01-10 16:10 ccblblog 编辑

8、nginx反向代理优缺点分析
摘要:1.概述 反向代理(reverse proxy)方式是指用代理服务器来接受Internet 上的连接请求,然后将请求转发给内部网络中的上游服务器,并将从上游服务器上得到的结果返回给Internet上请求连接的客户端,此时代理服务器对外的表现就是一个 Web 服务器。 充当反向代理服务器是Nginx 阅读全文

posted @ 2024-01-10 12:09 ccblblog 编辑

7、nginx模块之HTTP模块(2)
摘要:1. 对客户端请求的限制 1.1 按HTTP方法名限制用户请求 语法: limit_except method ... {....} 配置块: location Nginx 通过 limit_except 后面指定的方法名来限制用户请求。方法名可取值包括:GET、HEAD、POST、PUT、DELE 阅读全文

posted @ 2024-01-09 18:44 ccblblog 编辑

7、nginx模块之HTTP模块(1)
摘要:1、概述 静态Web服务器的主要功能由ngx_http_core_module模块实现,一个完整的静态 Web 服务器还有许多功能是由其他的 HTTP 模块实现的。 一个典型的静态 Web 服务器包含多个 server 块和location 块,例如: http { gzip on; upstrea 阅读全文

posted @ 2024-01-09 16:25 ccblblog 编辑

6、nginx通用配置
摘要:1、nginx进程之间的关系 部署Nginx时都是使用一个 master 进程来管理多个 worker 进程,一般情况下,worker 进程的数量与服务器上的CPU核心数相等。worker 进程之间通过共享内存、原子操作等一些进程间通信机制来实现负载均衡等功能 2、单进程nginx环境使用 由于 m 阅读全文

posted @ 2024-01-02 18:52 ccblblog 编辑

5、nginx命令行控制
摘要:1、nginx安装目录 默认安装目录 /usr/local/nginx 二进制文件路径 /usr/local/nginx/sbin/nginx 配置文件路径 /usr/local/nginx/conf/nginx.conf 2、nginx命令 2.1 默认方式启动 直接执行Nginx二进制程序。例如 阅读全文

posted @ 2024-01-02 16:37 ccblblog 编辑

4、nginx configure执行流程
摘要:1、configure源码 configure由Shell脚本编写,执行过程中间会调用<nginx-source>/auto/目录下的脚本。 #!/bin/sh # Copyright (C) Igor Sysoev # Copyright (C) Nginx, Inc. # auto/option 阅读全文

posted @ 2024-01-02 16:03 ccblblog 编辑

TypeVariable、GenericDeclaration、Type、AnnotatedType
摘要:0、Java Reflect 包类图 1、Typevariable类图 2、类签名 public interface TypeVariable<D extends GenericDeclaration> extends Type, AnnotatedElement { 3、涉及到的类 3.1 Typ 阅读全文

posted @ 2024-01-02 14:13 ccblblog 编辑

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示