Linux 进程与服务 Linux 进程与服务 基本概念 在Linux中,每一个程序都是有自己的一个进程,每一个进程都有一个id号,每一个进程都会有一个父进程。 正在执行的一个或多个相关进程可形成一个作业,使用管道和重定向命令,一个作业可启动多个进程,根据运行方式的不同可将作业分为两大类: 前台作业:运行于前台,用户可对其进行交互操作。 后台作业:运行于后台,不接收终端的输入,但向终端输出执行结果。 服务是按照服 2022-03-03 Software OperatingSystem Linux
Java 网络编程基础 Java 网络编程基础 网络协议 网络上的计算机要互相通信,必须遵守一定的协议,目前使用最广泛的网络协议是应用于Internet的TCP/IP协议,TCP/IP协议在设计上分为5层:物理层,数据链路层,网络层,传输层,应用层,不同层有各自的职责,下层为上层提供服务。 网络层也称IP层,主要负责网络主机的定义,实现数据传输的路由选择,IP地址可以唯一地确定Internet上的一台主机,为了方便记 2022-03-03 Software Language Java JavaSE 网络编程
JavaScript MD5 JavaScript MD5 导入MD5.js 1<script src="https://cdn.bootcdn.net/ajax/libs/blueimp-md5/2.16.0/js/md5.min.js"></script> 字符串转MD5 1var value = md5(pwd.value); 2022-03-03 Software Language JavaScript 函数
HTTP Cookie&LocalStorage&SessionStorage HTTP Cookie&LocalStorage&SessionStorage Cookie Cookie 是小甜饼的意思,顾名思义,cookie 确实非常小,它的大小限制为4KB左右,是网景公司的前雇员 Lou Montulli 在1993年3月的发明,它的主要用途有保存登录信息,比如你登录某个网站市场可以看到"记住密码”,这通常就是通过在 Cookie 中存入一段辨 2022-02-21 Network HTTP
JDBC JDBC 为支持Java程序的数据库操作功能,Java语言采用了专门的Java数据库编程接口JDBC(Java Database Connectivity),JDBC类库中的类依赖于驱动程序管理器,不同的数据库需要不同的驱动程序,驱动程序管理器的作用是通过JDBC驱动程序建立与数据库的连接。 作为一种有效的数据存储和管理工具,数据库技术得到广泛应用,目前主流的数据库技术是关系数据库,数据以行列的 2022-02-17 Software Language Java JavaSE JDBC
Java 反射 Java 反射 Reflection(反射)是Java被视为动态语言的关键,反射机制允许程序在执行期借助于ReflectionAPI取得任何类的内部信息,并能直接操作任意对象的内部属性及方法。 获得反射对象 加载完类之后,在堆内存的方法区中就产生了一个Class 类型的对象(一个类只有一个Class类型对象),这个对象包含了完整的类的结构信息。 通过类的 class 属性 通过类的cla 2022-02-17 Software Language Java JavaSE 注解与反射
幂等性 幂等性 幂等是一个数学与计算机学概念,在数学中某一元运算为幂等时,其作用在任一元素两次后会和其作用一次的结果相同,在计算机中编程中,一个幂等操作的特点是其任意多次执行所产生的影响均与一次执行的影响相同。 在编程中一个幂等操作的特点是其任意多次执行所产生的影响均与一次执行的影响相同,幂等函数,或幂等方法,是指可以使用相同参数重复执行,并能获得相同结果的函数,这些函数不会影响系统状态,也不用担心重复 2022-02-10 Software BackEnd
Nginx 动静分离 Nginx 动静分离 图片服务器 123456789101112131415161718server { listen 80; listen [::]:80; server_name static.tally.ltd; location / { expires 24h; alias /deploy/static/; 2022-02-07 Software BackEnd Server Nginx
Nginx SSL证书部署 Nginx SSL证书部署 获取证书 Nginx文件夹内获得SSL证书文件 ``1_www.domain.com_bundle.crt和私钥文件 2_www.domain.com.key` 1_www.domain.com_bundle.crt 文件包括两段证书代码 “-----BEGIN CERTIFICATE-----”和”-----END CERTIFICATE-----” 2_www. 2022-02-07 Software BackEnd Server Nginx
Java 邮件发送 Java 邮件发送 Spring Boot pom.xml 1234<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId></dependency> 分析源码 2022-01-28 Software Language Java SpringFramework 实例
Spring Boot 短信服务 Spring Boot 短信服务 pom.xml 12345<dependency> <groupId>com.aliyun</groupId> <artifactId>dysmsapi20170525</artifactId> <version>2.0.9</version></depen 2022-01-28 Software Language Java SpringFramework 实例
Java 类加载与类加载器 Java 类加载与类加载器 类的生命周期 类从被加载到虚拟机内存开始,到卸载出内存为止,它的整个生命周期包括以下 7 个阶段: 加载。 验证。 准备。 解析。 初始化。 使用。 卸载。 验证,准备,解析 3 个阶段统称为连接。 加载,验证,准备,初始化和卸载这 5 个阶段的顺序是确定的,类的加载过程必须按照这种顺序按部就班地开始(注意是"开始”,而不是"进行”或 2022-01-22 Software Language Java JavaSE JVM
JVM VM Options JVM VM Options -Xms:设置初始化内存分配大小,默认本机内存的1/64 -Xmx:设置最大分配内存,默认本机内存的1/4 -XX:+HeapDumpOnOutOfMemoryError生成oomDump文件。 -Xmn — 堆中年轻代的大小。 -XX:-DisableExplicitGC — 让System.gc()不产生任何作用。 -XX:+PrintGCDetails — 打 2022-01-22 Software Language Java JavaSE JVM
JVM 内存分配与回收策略 JVM 内存分配与回收策略 对象的内存分配,就是在堆上分配(也可能经过 JIT 编译后被拆散为标量类型并间接在栈上分配),对象主要分配在年轻代的 Eden 区上,少数情况下可能直接分配在老年代,分配规则不固定,取决于当前使用的垃圾收集器组合以及相关的参数配置。 查看详细的 GC 过程需要在运行时加上参数:-XX:+PrintGCDetails 对象优先在 Eden 分配 大多数情况下,对象 2022-01-22 Software Language Java JavaSE JVM
JVM 性能调优 JVM 性能调优 在高性能硬件上部署程序,目前主要有两种方式: 通过 64 位 JDK 来使用大内存。 使用若干个 32 位虚拟机建立逻辑集群来利用硬件资源。 使用 64 位 JDK 管理大内存 堆内存变大后,虽然垃圾收集的频率减少了,但每次垃圾回收的时间变长,如果堆内存为 14 G,那么每次 Full GC 将长达数十秒,如果 Full GC 频繁发生,那么对于一个网站来说是无法忍受的。 2022-01-22 Software Language Java JavaSE JVM
Java Math Java Math Java.lang.Math类封装了常用的数学函数和常量,Math.PI和Math.E两个常量分别代表数学上的π和e,下表列出了Math类的常用静态方法,通过类名作前缀即可调用,例如,Math.round(5.56)的结果为6,Math.floor(5.56)的结果为5.9 方法 功能 int abs(int i) 求绝对值(另有针对long,float,dou 2022-01-18 Software Language Java JavaSE 其他核心类
Base64 Base64 Base64的由来 目前Base64已经成为网络上常见的传输8Bit字节代码的编码方式之一,在做支付系统时,系统之间的报文交互都需要使用Base64对明文进行转码,然后再进行签名或加密,之后再进行(或再次Base64)传输,那么,Base64到底起到什么作用呢? 在参数传输的过程中经常遇到的一种情况:使用全英文的没问题,但一旦涉及到中文就会出现乱码情况,与此类似,网络上传输的字符并 2022-01-17 Software Common
Spring MVC 静态资源处理 Spring MVC 静态资源处理 静态资源映射规则 addResourceHandlers添加资源处理。 1234567891011121314@Configurationpublic class WebMvcConfig implements WebMvcConfigurer { @Override public void addResourceHandlers(Re 2022-01-17 Software Language Java SpringFramework 实例
Nginx 进程管理 Nginx 进程管理 启动Nginx 1$ service nginx 配置文件 检查配置文件。 1$ service nginx configtest 重新载入配置文件。 1$ service nginx reload 重启Nginx 1$ service nginx reopen 停止Nginx 1$ service nginx stop 安全退出Nginx 1$ service ng 2022-01-15 Software BackEnd Server Nginx
HTTP CSRF 攻击 HTTP CSRF 攻击 CSRF(Cross-site request forgery)跨站请求伪造:攻击者诱导受害者进入第三方网站,在第三方网站中,向被攻击网站发送跨站请求,利用受害者在被攻击网站已经获取的注册凭证,绕过后台的用户验证,达到冒充用户对被攻击的网站执行某项操作的目的。 一个典型的CSRF攻击有着如下的流程: 受害者登录a.com,并保留了登录凭证(Cookie) 攻击者引诱受 2022-01-12 Network HTTP