nginx反代、分发HTTPS请求

... worker_processes 2; events { worker_connections 1024; } http { include mime.types;#设定mime类型,类型由mime.type文件定义 default_type application/octet-stream;#默认文件类型 keepalive_timeout 90; server { listen 443 ssl; server_name

认识一下中文的字符编码

... ---需求-- 提取中文的首字母、中文拼音

java位操作运算

虽然应用场景不多,但是一些源码里却出现了很多次。并非没有用。 在计算机中,所有数值都是 二进制数值。 ```byte 1个字节 8位short 2个字节 16位int 4个字节long 8个字节float 4个字节double 8个字节char 1个字节boolean 1位``` ## 操作对象数值在计算机中所有数都是以补码形式存储,正数最高位 0,负数最高位 1,正数三码合一,负数原码、反码、补码 分别应:对应正数最高位变1、最高位外 所有位取反、补(加)1 ### 原码一个数字转换成二进制就是它的原码,如: ```int a=5;//0000 000

关于判断一个数是不是奇数&&位运算

## 一 负数有没有奇偶性 有 ## 二 写一个方法判断是否为奇数 ### 关于这个取余号 5-2%2== 5减号优先级小于取余号 (-5)%2==-1余数为负,考虑一下计算过程: n*被除数+X==除数,Java和Python中,余数取的是绝对值最小的那个 ### 初始方法 public static boolean isOdd(int i){ if(i%2==1){ return true; }else{ return false; } } ### 可是。。 if() 布尔表达式--类型就是布尔类型,要求的返回值也是布尔~~~~ so: public

git文件冲突--处理冲突的那个commit里别人的修改显示为绿色(gitlab)

验证 一 Pserson1 Person1、Person2 从master拉去最新代码; Person1修改a.txt 添加一行 `111` b.txt 添加一行 `111` git push 到远程 二 Person2 Person2修改a.txt 添加一行 `222` git commit "只冲突了a.txt" git pull 远程 git status On branch master You have unmerged paths. (fix conflicts and run "git commit") (use "git merge

经济学原理·第一章 经济学十大原理

社会必须决定谁吃鱼子酱而谁吃土豆。它也必须决定谁将开跑车而谁只能坐公交车。 因为社会资源是稀缺的,不可能生产出人们所希望拥有的所有物品和服务。所以社会资源的管理就尤为重要。 经济学,研究社会如何管理自己的稀缺资源。 一 人们面临权衡取舍 做出决策就是要求我们在一个目标和另一个目标间做取舍。为了得到某种东西我们不得不失去某种另外的东西。 社会面临的一种权衡取舍是在效率和平等之间。 效率指社会能从其稀缺资源中得到最大的利益。平等是指将这些利益平等的分配给社会成员。 也就是说效率指经济蛋糕总大小,平等指如何分配这块蛋糕。(先富带动后富) 二 某种东西的成本是为

责任链模式

package backgulf.patterns; public abstract class AbstractLogger { public static int INFO = 1; public static int DEBUG = 2; public static int ERROR = 3; protected int level; private AbstractLogger nextLogger; public void setNextLogger(AbstractLogger l

InnoDB锁机制

看文档

Callable和FutureTask

# 一、Callable接口 import java.util.concurrent.Callable; Callable接口定义很简单: @FunctionalInterface public interface Callable<V> { /** * Computes a result, or throws an exception if unable to do so. * * @return computed result * @throws Exception if unable to compu

线程池

请输入...

多线程

* 进程   一个进程就是一个执行中程序,而每一个进程都有自己独立的一块内存空间、一组系统资源。在进程的概念中,每一个进程的内部数据和状态都是完全独立的。 * 线程   线程与进程相似,是一段完成某个特定功能的代码,是程序中单个顺序控制的流程,但与进程不同的是: 同类的`多个线程是 共享一块内存空间和一组系统资源。` 所以系统在各个线程之间切换时,`开销要比进程小`得多。所以线程好似 轻量级的进程。一个进程可以包含多个线程。 不管进程还是线程,都是context of execution。在linux中,无论进程还是线程,根本上都是通过clone一个已经

WEB之缓存(Buffer和Cache)

Buffer 1. ​(British English) one of two round metal devices on the front or end of a train, or at the end of a railway track, that reduce the shock if the train hits something ​2. (computing) an area in a computer’s memory where data can be stored for a short time 0.缓冲。缓和冲击。 Cac

JAVA对象创建过程初识

一、 对象的创建 1. 执行new 操作时,会先看能不能在常量池中定位到这个类的符号引用,然后检查这个符号引用代表的类是否已经被加载、解析和初始化过。如果没有就要先执行相应的类加载过程。 2. 类加载过后虚拟机将给这个新的实例分配内存。对象(实例)所需要的内存大小在类加载完成后就可以确定了。 3. 内存分配完成后 虚拟机必须把分配的内存空间初始化,各字段设为0值。 4. 接下来,虚拟机还要对对象进行必要的设置,例如这个对象是哪个类的实例、如何才能找到类的元数据信息、对象的哈希码(实际上对象的哈希码会延后到真正调用Object::hashCode方法时才计

JVM类加载·一 Class类文件

https://docs.oracle.com/javase/specs/jvms/se16/html/jvms-4.html JVM不与任何语言绑定,包括JAVA,它只认class文件这种特殊的文件格式。 class文件中包含了JAVA虚拟机指令集、符号表和其他信息。 class文件格式采用类似于C结构体的结构来存储数据,数据类型只有两种,基本的无符号类型和表(Tables)类型,表类型由0个或多个无符号类型或其他表组成。 //跟rust u8代表8位不同,这里代表的是字节。Byte。 ClassFile { u4 ma

类加载机制

JAVA虚拟机 把描述类的数据 从 class文件 加载到内存,并对数据进行校验、转换解析和初始化,最后形成可以被虚拟机直接使用的指令和数据 的这个过程 叫做虚拟机的类加载机制。 JAVA类加载的 加载、连接、初始化过程整个发生在 程序运行期间。虽然比起编译型程序多了类加载过程的开销,但是增加了程序的扩展性和灵活性。 一、一个class文件从硬盘到内存的整个生命周期 加载Loading -> [验证Verification,准备Preparation,解析Resolution] -> 初始化Initialization -> 使用Using -> 卸载U

类加载器和双亲委派模型

请输入...

Postman调试响应体变成了xml

现象: 浏览器请求正常,响应体(JSON)正常。 Postman调试请求参数保持和浏览器一致,但是响应体变成了xml。 排查: 换浏览器请求,正常。 同时Postman调试,也是xml。 对比两个响应头,浏览器里 Content-Type:application/json; 但是Postman是application/xml; 所以问题肯定在请求头。 所以Accept这Key有问题,仔细对比发现解决办法是Postman请求头修改Accept这个Key为: Accept:application/json, text/plain, */*

JVM内存结构之一 程序计数器、虚拟机栈

jvms14 :Chapter 2. Data Types Run-Time Data Areas The PC Register Java Virtual Mechine Stacks Native Method Stacks Heap Method Area Run-Time Constant Pool This chapter gives an overview of the Java Virtual Machine architecture. 一、Data Types Like the Java programming language, the

JVM内存结构之二·堆区

2.5 Heap The Java Virtual Machine has a heap that is shared among all Java Virtual Machine threads. The heap is the run-time data area from which memory for all class instances and arrays is allocated. The heap is created on virtual machine start-up. jvms里并没有规定object的内存结构,所以应该是交给

JVM内存结构之三·堆中对象

这些类都定义在包中:jdk/src/hotspot/share/oops/ oop:ordinary object pointer # 零、oopDesc基类 0.1 对象访问定位 如果对象访问定位采用 句柄,那么句柄中 指向实例数据的指针应指向 oopDesc实例的地址,指向对象实例类型的指针仍指向方法区。 如果对象访问定为采用 直接指针,那么这个指针就是 oopDesc实例的地址。所以这时oopDesc实例中应有指向方法区中java对象类型的指针。 hostSpot使用直接指针定位对象。 0.2 oopDesc定义 // jdk/src/hotspo

信息摘要和一些信息摘要算法

请输入...

记一次服务器被爆破

状况: 服务器 Frp Server,家里Frp Client 今早突然发现不能远程回家了,第一反应是停电,登上服务器查

JavaScript爬虫 初步尝试

使用cheerio、axios爬某个网站的地市级信息,axios完全可以换为fetch

计算机中的时间

请输入...