Skip to content

Instantly share code, notes, and snippets.

View sunwu51's full-sized avatar
😵‍💫
Working from home

Frank sunwu51

😵‍💫
Working from home
View GitHub Profile
@sunwu51
sunwu51 / function_params.md
Last active June 11, 2022 16:38
函数传参与返回值

函数传参的本质

调用函数的地方是实参,函数运行地方是形参,形参是对实参的拷贝

主流编程语言中,下面的函数运行结果都是0,因为形参x是对实参a的拷贝,值类型的拷贝会创建新的内存。这种传参类型也叫值传递。

void main(){
  int a = 0;
  f(a);
  printf("%d", a);//0
}
@sunwu51
sunwu51 / nginx.conf
Last active April 9, 2024 03:15
openresty配置详解
# 概述:一共三大部分配置。
# 其中#注释掉的可以在需要的时候开启并修改,没有注释掉的(除了下面location示例)不要删掉,基本都是必须的配置项。
###############################第一部分 全局配置############################
#user nobody; 指定启动进程的用户,默认不用指定即可。
#error_log logs/error.log; 配置日志输出,虽然叫error_log但是可以定义输出的级别,默认不写是ERROR级别
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid; 记录pid的文件,默认就是放到这个位置,可以修改。
@sunwu51
sunwu51 / learn.lua
Last active August 16, 2022 10:08
lua learn
-- 直接赋值是全局变量一般不要这么使用
a = 10
-- local是指定当前作用域(一般指大括号或当前文件内)有效的变量
local a = 10
-- 数字
local b = 10.1
print(a + b) -- 打印20.1,支持常见的运算符以及位运算符
print(15 & (1<<2)) -- 4
@sunwu51
sunwu51 / ObjectHeaderUtil.java
Created March 28, 2022 09:19
print java object header
import sun.misc.Unsafe;
import java.lang.reflect.Field;
public class ObjectHeaderUtil {
private static Unsafe getUnsafe() throws Exception {
Class<?> unsafeClass = Class.forName("sun.misc.Unsafe");
Field field = unsafeClass.getDeclaredField("theUnsafe");
field.setAccessible(true);
return (Unsafe) field.get(null);
@sunwu51
sunwu51 / trie.js
Created February 28, 2021 08:45
Trie.js
class TrieNode {
constructor() {
this.value = undefined;
this.isEnd = false;
this.arr = {};
}
}
class TrieTree {
constructor() {
|----------------------------------------------------------------------------------------|--------------------|
| Object Header (64 bits) | State |
|-------------------------------------------------------|--------------------------------|--------------------|
| Mark Word (32 bits) | Klass Word (32 bits) | |
|-------------------------------------------------------|--------------------------------|--------------------|
| identity_hashcode:25 | age:4 | biased_lock:1 | lock:2 | OOP to metadata object | Normal |
|-------------------------------------------------------|--------------------------------|--------------------|
| thread:23 | epoch:2 | age:4 | biased_lock:1 | lock:2 | OOP to metadata object | Biased |
|-------------------------------------------------------|--------------------------------|--------------------|
|
@sunwu51
sunwu51 / Main.java
Created April 25, 2020 16:30
metaspace
package meta;
import org.springframework.cglib.proxy.Enhancer;
import org.springframework.cglib.proxy.MethodInterceptor;
import org.springframework.cglib.proxy.MethodProxy;
import java.lang.reflect.Method;
/**
* @author Frank
@sunwu51
sunwu51 / phaser题目.md
Last active March 20, 2023 13:38
phaser题目

题目

有4线程,分阶段执行任务,第0阶段,需4个都执行完才能开始下一阶段。第1阶段,需3个都执行完才能开始下一阶段。第2阶段,需2个都执行完才算最终完成。

public class Main{
    public static void main(String[] args) {
        test();
    }
    static void test(){
        Phaser phaser = new Phaser(4);
        for(int i=0;i<4;i++){

SpringBoot Rest接口

1 请求参数的接收

从客户端来看请求参数四种形式:路径参数、查询字符串、表单参数、json参数、其他参数。 从服务端来看请求参数分为

  • RequestParam 对应查询参数和表单参数
  • PathVariable 对应路径参数
  • RequestBody 对应Json/xml等内容参数
  • RequestHeader 对应请求头中参数
  • CookieValue 对应cookie参数
@sunwu51
sunwu51 / webpack.md
Created December 18, 2017 14:32
webpack

Webpack 3.5.5

常用功能速查手册[截止2017/12/18]

1 基础配置

1.1 入口文件

//entry: {[entryChunkName: string]: string|Array<string>}
//单入口: entry: './file.js'
//多入口: entry: {app: './app.js',vendors: './vendors.js'}
const config = {
   entry: {app: './app.js',vendors: './vendors.js'}