11 李思苇

尚未进行身份认证

我要认证

根据事情的有意义程度而非重要紧急程度做计划

等级
TA的排名 3w+

Nginx服务架构/事件驱动模型

模块化模块化是指:以功能块为单位进行程序设计,一个模块就是一个功能块,应该只负责一个功能,遵循“单一职责原则”的设计模式。自定向下分解、逐步求精原则模块内部高内聚、模块之间的依赖关系低耦合原则。模块化设计支持分布式开发,可以使得nginx灵活的扩展和便捷的升级。Nginx模块化结构分为:核心模块,指源码包中的模块,src文件夹下,包括进程管理、权限控制、错误日志记录等。标准http模块,编译后包含的模块,使得nginx支持基本http功能可选http模块,用于扩展标准的http功能

2020-07-29 10:43:54

nginx 基础配置项详解

nginx.conf文件中的基础配置nginx.conf文件中的默认配置信息worker_process 1; #此配置项全局生效events{ #以下配置只在events部分中生效 worker_connections; 1024 }http{ #以下配置只在http部分中生效 include mime.types; default_type application/octet-stream; sendfile on; keepalive_time

2020-07-26 16:42:28

nginx 安装部署

Nginx安装部署下载官网下载即可,按操作系统可分为windows版本的和linux\unix版本的。按照适用场景又分为:development(最新版)、stable(稳定版)、legacy(历史版本)第一列CHANGES-x.x,链接到的文件内容主要是这个主要版本相对以前的版本的功能上的改变第二列nginx-x.x.x,链接到可在linux\unix系统环境上使用的的安装包,为tar.gz格式第三列pgp,链接到的文件内容是第二列的安装文件的pgp校验码第四列nginx/Windows-

2020-07-26 16:37:33

Nginx服务启动停止

有两种方式的启停给nginx进程发送信号运行nginx命令(即运行nginx软件 /sbin/ 目录下的二进制文件nginx)给nginx进程发送信号发送信号发送信号的命令:kill -SIGNAL pid获取Nginx进程号kill命令中必须给出nginx进程的进程号pid。nginx服务工作过程中,会启动一个master进程,和多个工作进程worker_proccesser,kill命令中的pid参数是指master进程号。获取nginx master进程号的方式有两种:/l

2020-07-26 15:56:59

nginx 反向代理及负载均衡策略

正向代理:代理服务器做的是客户端的代理反向代理:代理服务器做的是服务器的代理代理服务先用社会生活中我们常见的场景解释一下代理:租房代理 or 中介很多有房人士想将自己闲置的房子出租,但是他们大部分都还有其它更赚钱的事情要忙,并且他们自己住的房子和闲置的房子也不在同一个地方。因此并不愿花时间接待并带领每一位想要看房子的租客到自己闲置的房子那里去看房,也不愿花时间对租客的各种问题做解答。于是就出现了租房代理或者中介,他们专门负责带领租客看房子、解答租客的问题,虽然租客的主要目标即住房服务是房主提供的

2020-07-22 11:22:48

并发:core java 14

Core Java 第14章 并发基本概念线程进程使得一台计算机能够同时执行多个应用程序,进程是多个应用程序的并发执行。线程使得一个应用程序能够同时执行多个任务,线程是一个应用程序内的并发执行。线程的定义及创建建议通过实现Runnable接口的方式定义线程,便于扩展。线程的中断如果一个线程启动后,用户就对其失去了控制,无法中止其执行,是非常不友好的。用户可以通过thread.interrupt();来中断线程thread,这个方法会调用native方法interrupt0(),会将线程的

2020-07-08 09:29:00

弱引用——WeakReference——所引用的对象的回收规则

弱引用 WeakReference 相关的GC回收规则当一个对象仅被一个弱引用实例引用(持有)时,这个对象就会被GC回收。注意上述规则中,会被GC回收的是弱引用实例引用的对象,而非弱引用实例本身如果显式地声明了一个变量E e = new E();指向一个对象,而这个对象e被WeakReference实例持有引用,则由于对象的引用被变量e持有,对象并不符合上述回收规则,因此对象至少在变量e的作用域范围内都不会被回收。例如:class Apple{ String color; void Ap

2020-07-08 05:22:21

unsafe源码

/* * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU Gen

2020-06-22 08:48:05

HashMap源码详解:Core Java 9.3

Map接口keySetvaluessizecontainsKeyputremoveentrySetisEmptycontainsValuegetclear以下为部分JDK1.8添加的默认方法,defaultgetOrdefault(Object o,V v)replaceAll(BiFunction<K,V,V> f)remvoe(K k,V v)forEach(BiConsumer<K,V&g

2020-05-09 10:44:53

Core Java(第1-3章)

1.2.6 体系结构中立/编译器jdk>jre>jvm>解释器编译器生成一个体系结构中立的目标文件格式,即字节码。只要有Java运行时系统(JRE,包括了JVM-即java解释器),这些字节码就可以在许多处理器上运行。精心设计的字节码不仅可以很容易地在任何机器上通过JVM解释执行,而且还可以动态地翻译成本地机器代码。虚拟机有一个选项,可以将执行最频繁的字节码序列翻译成机器码...

2020-05-08 23:44:23

红黑树、B树、B+树

参考:微信知乎此三者的主要应用是降低大数据量检索时的时间复杂度。JAVA的hashMap中,当一个桶中的元素个数超过…时,桶内数据的存储结构会由链表改成红黑树。MySql数据库中,对于数据量超大的数据进行索引时,会采用B+树的存储结构。(索引数据结构的演变:红黑树->B树->B+树)二叉查找树对二叉树做中根遍历,数据是有序的,也称二叉排序树、二叉搜索树。每个节点最...

2020-05-08 15:26:52

leetCode:合并有序链表

public static void main(String[] args){ Integer [] a = {3,5,9,12,14,18,21}; Integer [] b = {2,3,7,15,19,22}; LinkedList<Integer> lista = new LinkedList<Integer>(Arrays.asList(a))...

2020-05-04 14:49:23

流程控制及break、continue、label的用法:Core Java 3.8

while / do while确定循环:for循环for循环语句是有确定循环次数的,因此称为确定循环。for循环语句用每次迭代后更新的计数器或者变量的方式来控制循环次数。for 语句内定义的变量,其作用域仅在for循环语句和循环体内部。也就是说,如果在一个代码块内定义了两个非嵌套的for循环,则这两个for循环语句或者循环体内可以定义名称相同的变量。格式:for ( 语句1; 条件语...

2020-05-04 14:20:01

一文带你轻松把堆排序相关概念、原理及JAVA实现搞的明明白白

堆:用数组存储的完全二叉树。堆中二叉树的特性:树的所有父节点都必须是小于等于其节点(小顶堆),或者所有父节点都大于等于其子节点(大顶堆)。存储堆的元素的数组的特性:节点a[i] 的 左孩子节点存储在a[2i+1]、右孩子节点存储在a[2i+2]。在排序过程中,将所有元素将逻辑上划分为两部分,一部分是经过排序过程后有序的元素,另一部分为还未排序的所有待排序元素。以从小到大的堆排序为例:每...

2020-05-02 20:51:19

java中default关键字的语法语义

switch-case-default接口中的方法的默认实现

2020-04-22 15:21:29

Java Collection-new:Core Java 9

Collection├List│├LinkedList│├ArrayList│└Vector│ └Stack└SetMap├Hashtable├HashMap└WeakHashMapVector:可以实现可增长的对象数组。它可以试用正数索引进行访问,它的大小可以跟需要增大或者缩小。 使用时注意:

2020-04-20 16:06:45

UML图符号:Core Java 4.1

类之间的关系在类之间,最常见的关系有依赖(“ uses a ”)继承(“ is a ”)聚合(“ has a ”)依赖:如果类A的方法操纵B类的对象,我们就说类A依赖于类B。如Order类使用Account类是因为Order对象需要通过Account对象查看用户的账户余额。应该尽可能的将相互依赖的类减至最少,即让类之间的耦合度最小。聚合:如一个Order对象包含一些Item对象...

2020-04-20 13:29:12

调试技巧:Core Java 7.6

打印变量System.out.println(“x=”+x);Logger.getGlobal().info(“this=”+this);每个类一个main方法这样就可以对每个类进行单元测试Junit组织测试用例套件日志代理,对JDK源码调试详见:举个例子e.printStackTrace() 和 Thread.dumpStack();Thread.setDefaultUncau...

2020-04-15 20:38:40

日志:Core Java 7.5

开发人员应该用logger.fine( obj )来取代System.out.println( obj );当调用 System.out.println 时, 实际上生成了下面的日志消息:logger.fine();JDK的日志系统有以下几个主要的类和概念:日志记录器 Logger记录器负责暂存日志数据到内存中只有当某条日志的级别高于记录器设定的阈值时,此条日志才会被记录器记录到内存。...

2020-04-15 16:32:21

断言Assert:Core Java 7.2

断言 Assertassert,是断定、坚称的意思。assertion,是主张、肯定的意思。对于断言代码assert i>0;如果i的值实际是小于或者等于0,那么系统就会抛出一个AssertionError异常。注意,AssertionError异常是Error的子类,性质相当于JVM自身内部异常。什么时候应该选择使用断言呢如果在条件不成立的情况下继续执行的话,会发生致命的、不可...

2020-04-15 10:31:58

查看更多

勋章 我的勋章
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 阅读者勋章Lv2
    阅读者勋章Lv2
    授予在CSDN APP累计阅读博文达到7天的你,是你的坚持与努力,使你超越了昨天的自己。
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv3
    勤写标兵Lv3
    授予每个自然周发布7篇到8篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。