梁小生 Blog

个人博客

gc

GC垃圾回收因为最近接触了JAVA和C#相关编程,这里对比一下JVM和CLR的垃圾回收机制。 CLR和JVM之间的最大相似之处包括: 都是虚拟机(VM) 都包括垃圾收集 都采用基于堆栈的操作 都包括运行时级安全性 都有异常处理方法 CLR和JVM之间的主要区别包括: CLR被设计为与语言无关,JVM被设计为特定于Java CLR最初只与Windows兼容,JVM适用......

webImportant

相关问题[TOC] get和post GET在浏览器回退时是等幂性,而POST会再次提交请求。 GET产生的URL地址可以被保存书签,而POST不可以 GET请求会被浏览器主动cache,而POST不会,除非手动设置。 GET请求只能进行url编码,而POST支持多种编码方式。 GET请求参数会被完整保留在浏览器历史记录里,而POST中的参数不会被保留。 GET请求在URL中传送的参数是有长......

JS学习一波

JS学习一波最近看了一下《JavaScript高级编程》、《Node深入浅出》,挑了一些自己认为重要的、不熟悉的地方做了一下笔记。 《Node深入浅出》笔记起源期初:一个外国人”Ryan Dahl”想写一个高性能的Web服务器,在他失败了几次以后,找到了几个要点:事件驱动、异步 I/O。挑语言的时候,经历了这样的选择: C语言的开发门太高,不会有ܹ多的开发者能把它用于日常的务开发,放弃了。......

TCP/IP

TCP/IP 协议TCP/IP 协议体系结构与OSI 7 层模型的对应关系: TCP/IP协议族按照层次由上到下,层层包装。 应用层:向用户提供一组常用的应用程序,比如电子邮件、文件传输访问、远程登录等。 传输层:为网络提供了流量控制,错误控制和确认服务。如:TCP和 UDP传输协议。 网络层:提供独立于硬件的逻辑寻址,实现物理地址与逻辑地址的转换。 网络接口层:主要是指物理层次的一......

泛型函数

面向对象语言中的泛型

泛型函数 泛型,即“参数化类型”。一提到参数,最熟悉的就是定义方法时有形参,然后调用此方法时传递实参。那么参数化类型怎么理解呢?顾名思义,就是将类型由原来的具体的类型参数化,类似于方法中的变量参数,此时类型也定义成参数形式(可以称之为类型形参),然后在使用/调用时传入具体的类型。 ——来自百度 ......

PromisesAndFuture

什么是 Promise?一个 Promise 对象代表一个目前还不可用,但是在未来的某个时间点可以被解析的值。它允许你以一种同步的方式编写异步代码。例如,如果你想要使用 Promise API 异步调用一个远程的服务器,你需要创建一个代表数据将会在未来由 Web 服务返回的 Promise 对象。唯一的问题是目前数据还不可用。当请求完成并从服务器返回时数据将变为可用数据。在此期间,Promi......

C# 中的 AutoResetEvent关键字

C# 中的 AutoResetEvent 关键字在工作的任务中,需要对客户端和服务端 通信包进行落地。把这个做成通用的模块,在高并发和多线程下,也能够工作。 在查阅了大众化日志方案后,决定采用:写日志和写文件分离的方式进行。大概内容图: 需要记录是通信包,将需要记录的通信包推送到队列,再由一个专门的线程去读取队列,将出队列的数据写到文件中。这样将每次直接IO瓶颈,转化成存储队列的大小,瓶......

小议码重构

在学习编程的路上,相信大家这几个词一定不少听,什么 面相对象、封装继承多态、内功心法21种设计模式 等等 。但是却很少用到,或者说用到的都是被动使用。大牛们在写代码前早就构思好了,接口,基类等等。自己写代码的时候,很少有把面向对象想的面很全,很容易在遇上不够优秀的代码,这时候就需要重构了。 但是我们却很少去重构,可能原因有很多,比如很重要的一点:不想改出Bug;不想增加工作量(我是要5点半......

设计模式

常用设计模式的学习单例模式(Singleton)定义:确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。比如说系统的任务管理器。 单利模式的关键点 1.构造函数不对外开放,一般为private 2.通过一个静态方法或者枚举返回单例类对象 3.确保单例类对象有且只有一个,尤其是在多线程环境下 123456789101112131415public class Single......

spring boot 使用 swagger 404

配置使用 在pom.xml 增加如下内容 1234567891011<dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.9.2</version></de......