自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(52)
  • 问答 (1)
  • 收藏
  • 关注

原创 python代码热更原理及实现

热更,指程序具有在运行过程中修改代码,不重启,而直接生效的能力。热更对代码的微调,debug非常友好,不再需要重新启动程序,能直接在已有的上下文环境中直接测试。python 中有个 reload函数,会对模块进行重新加载,例如对模块 A 执行,reload(A),则模块 A 中的模块级内容会重新加载。不过,被reload的模块中,某个类已经生成的对象,依然指向的是旧模块的代码。也就是说,你在某个类的方法中添加了一行打印,热更之后这些已经存在的对象并不会生效。

2023-06-13 10:44:55 2518 2

原创 pycharm 无法跳转 Cannot find declaration to go

pycharm 没法跳转问题

2022-11-22 10:26:18 2512 1

原创 《erlang程序设计》第15章案例的运行和解析

文章目的:梳理整个案例的运行流程,记录运行时的注意事项。文章目录前言程序结构运行程序总结前言第15章中,是一个将erlang与外部c程序连接运行的案例。这个案例的代码跳跃度比较大,说明也很少,尤其是c程序部分,我现在还不是特别清楚,但是经过仔细研究,对整个程序的运行结构有了总体的了解,如下是我的学习总结。程序结构说明:主进程就是使用erl 进入的那个进程。系统进程是利用process_flag(trap_exit,true)设置因此可以整个程序的核心是:利用spawn创建一个系.

2020-05-11 14:58:51 223

原创 解决erl -sname gandalf 运行失败

对于这个问题,我找到了我的出错原因,仅供参考。注:如果急,在线等,请直接看后面的红色大字。输入erl -sname gandalf后如图:通过很多周折(包括使用crashdump_viewer:start()查看崩溃记录,网上查阅资料等等,都是竹篮打水一场空 ????),总归在反复看报错信息之后,终于将目光注意到了这串英文,原来系统早就非常明确的告诉我,问题出在: cookie!!!解决1:使用 erl -sname gandalf -setcookie a接着我在《erlang程序设计第二版

2020-05-09 15:13:10 312

原创 erlang中的连接和监视

erlang中进程之间的关系有:连接,监视。它们针对的都是进程,是对进程之间错误处理服务。前言本文仅仅是对连接或监视的进程挂掉或崩溃的情况着重分析,对于连接和监视的详细知识点未作详细整理。连接可以利用erlang:link/1 ,erlang:spawn/link/1 ,erlang:spawn/3来创建,连接的进程是双向的,也就是如果A和B连接,那么不管A还是B挂了,都会向对方发送错误信号;当一个连接中的一个进程挂了,比如A连接B,B挂了,那么会有如下一些情况:如果A是系统进程,那么会将.

2020-05-09 11:47:25 380

原创 erlang中的ets和dets

文章目录前言1> ets(erlang term storage,erlang数据存储)1.1> 简单使用示例1.2> 简单说明1.3> 访问权限及表类型2> dets(disk erlang term stroage,磁盘erlang数据存储)2.1> 简单使用示例2.2> 简单说明前言ets(erlang term storage,erlang数...

2020-05-07 15:34:34 1874

原创 erlang的lists模块源码解析

说明:lists模块包含一些对列表的操作函数。除非说明位置编号总是以1开始。函数目录:lists:all/2lists:any/2lists:append/1lists:subtract/2lists:reverse/2lists:reverse/1lists:nth/2lists:nthtail/2lists:prefix/2lists:suffix/2lists:droplast/1li...

2020-05-01 17:44:05 840

原创 erlang中的类型表示(-spec,-type)

文章目录前言-spec 类型规范-type 类型定义类型的注解比类型注解更好的办法前言看《erlang程序设计》,第一次接触第九章类型几乎什么都没看懂,简单就掠过去了,后来回锅炒以及看了一些内置模块的源码,来有所悟。下面就是我对类型表示的一些理解。直接上代码(《erlang程序设计》原书代码片段):-module(walks).-export([plan_route/2]).-sp...

2020-04-30 15:29:05 2255

原创 erlang的一些知识点补充

文章目录apply元数属性块表达式动态代码载入函数引用包含文件列表操作宏模式的匹配操作符整数进程字典下划线变量apply语法:apply(Mod,Func,[Arg1,Arg2,...,ArgN])用处:使得Mod,Func可以作为参数传入。建议:尽量不使用,因为使用之后很多分析个工具无法使用。元数定义: 函数的参数个数两个名称相同,元数不同的函数是完全不同的函数。属性语法...

2020-04-28 19:52:07 299

原创 erlang中的记录和映射组

erlang 有四种复合数据结构:列表,元祖,记录,映射组。列表可变大小,格式为 […],主要利用 [H|T] 这样的形式;元祖放置固定元素,格式为 {…};记录记录需要声明到.erl或.hrl文件(相当于c语言中的.h文件)。格式:-record(Name,{key1=value1,key2=value2}).其中的value1,value2代表默认值。注意:Name,k...

2020-04-23 11:39:46 363

原创 夜里的彩虹

什么时候开始,已经在路上。是条简单的,有着熙熙攘攘行人的乡间小路,或许是通往峨眉山。视野里的游客只能感觉到而看不见,其实看见了只是电信号传不到大脑,仿佛视网膜上蒙了一层白色塑料袋,又或许电信号在路上就被截取了。 恍然间,两个选择摆在眼前,左边是正门,有检票人员。我选择了右边的路走了过去,经过正门能瞟见检票人的侧影,是再普通不过的那种。不选择检票口可能是觉得想要特立独行一些,也有可能就是想避...

2020-03-03 15:39:15 125

原创 读《基于宇宙视角的反思》

在人类创建的所有学科中,天文学被公认是而且无疑是最崇高,最有趣,最有用的。因为,通过这门学科所获得的知识,不仅地球之大部分被发现......;而且我们的能力随着它所传达的思想的宏大而扩展,我们的心灵因为超越了低级狭隘的偏见而得到了升华。—詹姆斯.弗格森 早在有人知道宇宙有一个开端之前,在我们知道离地球最近的大星系有200万光年之前,在我们知道恒星如何发光或原子是否存在之前,詹姆斯...

2020-03-03 15:36:59 257

原创 字节码执行引擎知识点总结

以下是在学习了《深入理解JVM》之后的对知识点的总结,其中对方法调用那一章做了大量实践和分析。文章目录解释型还是编译型基于栈还是基于寄存器字节码指令在哪儿java虚拟机栈与栈帧的关系局部变量表操作数栈动态连接方法返回地址栈帧与方法的关系字节码指令中的四个方法调用指令invokevirtual指令解析过程静态分派,重载,编译期确定动态分派,重写,运行时确定解释型还是编译型字节码的执行有...

2020-03-02 18:40:52 135

原创 二进制中1的个数,解题总结,深入理解整型数据的存储

文章目录我呆头呆脑的方式????: 完全模拟整数到二进制补码的过程大神解锁方式????????????:一切都是位运算从本题中获得的对整型数据存储的深入理解题目:输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。这是一道并不复杂的,很基础的题。但是通过这道题,我更深刻的了解到了:java对于整型数据的处理。位运算巧妙。作为一个编程菜鸟,看题之后,我就知道,利用位运算是最为恰当的方式,但是...

2020-03-01 23:19:42 234

原创 简述类加载过程

文章目录1. 什么是类加载1.1 类加载的五大步骤2. 什么时候触发类加载?3. 类加载的总体流程3.1 加载过程3.2 验证过程3.3 准备过程3.4 解析过程3.5 初始化过程< hr/>1. 什么是类加载1.1 类加载的五大步骤2. 什么时候触发类加载?3. 类加载的总体流程3.1 加载过程3.2 验证过程3.3 准备过程3.4 解析过程3.5 初始化过程...

2020-02-29 14:01:53 1104

原创 简单介绍class文件结构

文章目录1. 什么是class文件?2. class文件的数据类型3. class文件结构3.1 magic,魔数,u43.2 minor_version,次版本号,u23.3 major_version,主版本号,u23.4 constat_pool_count和constant_pool,常量池3.5 access_flags,类访问标识符3.6 this_class和super_class,...

2020-02-26 22:39:39 284

原创 读《芙蓉镇》

《芙蓉镇》顾名思义,这是一个围绕着芙蓉镇写的故事。这个故事发生在上个世纪60到70年代,那时中国的革命正在摸爬滚打着向前摸索,土地改革,文化革命等一系列事件接踵而至,人民和国家都处于水深火热之中。革命事业与个人感情之间的纠纷,人性良知与自我利益之间的冲突都被无情的揭露。这是一个混乱的年代,有些可笑的愚蠢也有着可爱的善良,有着人性的扭曲也有着可歌可泣的温暖。生在这样的年代,或者旁观这样的年代,都会使...

2020-02-23 16:52:43 176

原创 简述Java虚拟机的GC过程

一. 垃圾回收所针对的区域首先Java虚拟机中共有五大内存区域:程序计数器,Java虚拟机栈,本地方法栈,java堆,方法区为什么不针对前三个区域: 对于前三种内存区域,他们的生存周期都是与线程相同,并且这些线程在运行之前就已经可以从类结构中确定他们所需内存,因此不需要过多的考虑他们的内存回收。为什么针对后两个区域: 而对于java堆和方法区则不同,比如,一个泛型数组,指向的是一个父类接口...

2020-02-23 16:44:51 416

原创 简述Java内存区域

本编是在学习了周志明《深入理解Java虚拟机》之后,根据章节目录的提示凭借回忆来复习和总结所学内容。1. Java五大内存区域及作用程序计数器书中原话是: 当前线程所执行字节码的行号指示器…在字节码解释器工作时通过改变这个计数器的值来获取下一个需要执行的字节码指令。简单理解就是:告知程序下一步所执行的指令。 java虚拟机栈虚拟机栈的单位是 栈帧 ,栈帧中包括有 局部变量表,操...

2020-02-22 20:12:57 93

原创 ssm框架所需jar包下载链接

本文包含了,在使用SSM框架过程中,所需要的一些jar包链接,分三部分:spring及相关jar包mybatis及相关jar包springMVC及相关jar包由于我也在学习过程中,所以还会更新。第一部分:spring及相关jar包1.1 spring框架20个基础包——spring-framework-xxx.RELEASE.jar包含了所有spring的基础jar包链...

2019-11-23 11:01:17 2744 1

原创 spring学习之——IOC和DI

使用spring,最大的特点就在于,你再也不用自己亲手new一个对象啦!这些工作将通过xml形式的配置文件,或者注解解决。例如,现在有一个Student对象public class Student{ private String name; private int age; public Student(String n,int a){name=n;age=a;}}那一般我们...

2019-11-22 14:32:07 109

原创 广漂惨痛的经历和反思

2019年11月19号晚在万达才开3天不到的华为新店,我用1880块钱贪了一个真假还不确定的airpods,有意思的是晚上还睡着了。 他们的套路是这样的,现在使用1880花呗,换了一个airpods,这1880块它将马上返还188的花费,剩下的1000多,会在明年的今天一并充到我这个号码里。 现在想来,这明显是个唬人的鳌头,且不说一年后是否给我充那剩下的钱,就这一年的时间期间,很明...

2019-11-20 17:08:36 406 1

原创 spring学习之——spring简介及下载

spring是什么?spring是现在非常流行的一种轻量级开源框架,主要用在web编程,可以解决许多编程中的繁琐步骤,如jdbc操作。同时spring提供了两个最主要的功能:di(ioc)和aop。其中di,代表依赖注入。有了它,就代表你不再需要手动的使用new创建对象,也不需要管它什么时候创建和销毁的了,这些全部由spring帮你解决。而aop代表面向切面编程,简单来说就是一种过滤手段,它...

2019-11-18 15:21:13 196

原创 数据库学习之——Redis安装和简单使用

目录:Redis是什么它的特点安装使用java的应用参考链接Redis是什么:redis一种数据库,与常用的mysql关系型数据库不同,redis是非关系型数据库,体现在数据库并非以表的结构存储,而是以key-value形式。它竟然:完全开源可持久化到磁盘除key-value外,支持多种存储形式,如:list,set,hash,string。所有操作原子性(注:R...

2019-11-17 15:02:46 108

原创 从数据库中存或取时间

前言数据库中时间字段的类型为:DateTimejava中时间字段的类型为:Date正文存入Date类型的数据到数据库的DateTime:将java中Date数据转换为StringSimpleDateFormat sd=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");String result=sd.format( Date类型的数据 ); /...

2019-10-20 15:04:40 309

原创 读《宇宙的琴弦》

初识宇宙是一个激动人心的过程,这是一个普遍的状态,是每个人从认识自我开始便产生的状态。但我突然问自己,这是为什么呢?为什么人的精神会对产生这样的状态?为什么人对宇宙有着如此执着的追求?这对人类有什么好处?这些问题出现在我脑海里,让我感到惊讶。我试着让历史重新在脑海里演化,从人类文明的开始,一直到现在,试着从中抓到一些问题的影子。从猿人到最原始的人类,火种,记录,文字,语言,等等一系列的...

2019-10-19 17:38:29 366

原创 javaweb中文乱码——页面到数据库编码设置

javaweb请求从页面到数据库,如果使用到了中文,那么就要保证编码正确。例如 jsp+servlet+mysql 的web程序假设跟踪一条请求从页面开始直到数据库,那么他的编码要经过一下几个步骤才能保证编码正确:保证页面的编码为utf-8: 这样在页面中流转的中文为utf-8。对于jsp页面可以使用:<%@ page language="java" import="ja...

2019-10-19 11:57:05 383

原创 修改Mysql密码

这里修改密码并没有使用的命令行,而是使用了软件:并且前提是你曾经使用它正确的连接成功过数据库:然后点击数据库点击编辑用户修改密码...

2019-10-15 08:35:46 113

原创 《java虚拟机规范SE7》整理——第五章:加载,链接与初始化

按照《java虚拟机规范SE7》章节顺序整理的笔记。目录:运行时常量池虚拟机启动创建和加载链接初始化绑定本地方法实现Java虚拟机退出第四章:加载,链接与初始化java虚拟机加载的对象当然是针对class文件(字节码文件),这个文件的构成以及编译器的编译过程,在前面三章已经有了很全面的介绍。加载的工作是将二进制的字节码文件加载如虚拟机中。链接的作用当然是为了让这个将...

2019-10-11 10:52:04 112

原创 《java虚拟机规范SE7》整理——第四章:Class文件格式

按照《java虚拟机规范SE7》章节顺序整理的笔记。目录:ClassFile格式(注:也就是class文件的总结构)第四章:class文件格式这一章详细的介绍了class文件的格式,包括class文件的格式,class文件具体的内容。这些内容均可以通过自己编写一个简单的类,并使用javap反编译来对照着阅读。<1>. ClassFile格式这表示class文件...

2019-10-10 11:50:53 434

原创 《java虚拟机规范SE7》整理——第三章:为Java虚拟机编译

按照《java虚拟机规范SE7》章节顺序整理的笔记。目录:常量、局部变量的使用和控制结构算术运算访问运行时常量池接收参数方法调用使用类实例数组编译switch语句第三章:为java虚拟机编译第三章讨论的主要是java虚拟机对java源文件的编译,这个过程体现在将java代码编译成字节码指令,也就是class文件的过程,而并没有包含将java代码编译成可由cpu执行的机...

2019-10-09 15:16:59 312

原创 《java虚拟机规范SE7》整理——第二章:Java虚拟机结构

按照《java虚拟机规范SE7》章节顺序整理的笔记。第二章:java虚拟机的结构目录:数据类型运行时数据区栈帧浮点算法字节码指令集介绍一. 数据类型虚拟机可以操作的类型可以分为两类:原始类型引用类型<1> 原始类型原始类型包含 数值类型(byte,short,int,long,float,double,char),布尔类型(boolean),re...

2019-10-08 19:14:21 332

原创 读《基督山伯爵》

首先我不得不先摘录下这句话,因为遗忘和冷却是激情与热情无法调和的天敌。在小说的最后,爱德蒙唐泰斯,也就是基督山伯爵留给她亲爱的马克西米利安写了一封离别信,信上这位饱受苦难又如幽灵一般为复仇为父亲为未婚妻的爱而活着的人,用如对儿子一般的爱向曾给他以希望温暖的船主莫雷尔先生的儿子留下了一份巨大的财产,并向这位经历了死亡的人写道:至于您,莫雷尔,我要告诉您的秘密是:在这世界上既无所谓幸福,也无所谓不...

2019-10-06 17:10:05 294

原创 读《上帝掷骰子吗?量子物理史话》

说起读这本书的感受,还得回忆起第一次看到这个书名的时候。那是在不久前所读到的那本《时间的形状》中提到的,仿佛是一种缘分,让我在无意中寻到了此书,又在同一种不可揣摩的缘分中读到了这本史话。两本书似乎本就是两位作者心灵相惜的作品,像一对孪生兄弟一般有着说不清的联系。他们一个代表了雄伟,高贵的相对论,一个代表了神秘,诡异的量子论。他们共同以一种轻松愉快,幽默有趣的方式向读者讲述,且还不时手舞足蹈的演...

2019-10-05 18:07:32 449

原创 深入理解枚举类型

枚举类型是一种语法糖:它只是一种语法,是为了方便程序的编写,在编译器编译之后,它将被解读成标准的class类。也就是说,枚举仅仅是披在java语法上的美丽外衣。接下来我将根据一个简单的枚举类,通过分析它的反编译的class文件来理解枚举类的实质。1. 枚举可以这样理解:如果你想创建这样一个类:我只想new固定数量的实例对象,且不能多也不能少。那么你可能就需要使用枚举类型。枚举是满足这...

2019-10-05 17:44:23 267

原创 七个最常用排序的代码(java)

七个最常用排序:冒泡排序选择排序插入排序希尔排序归并排序快速排序堆排序1.冒泡排序链接:深入理解冒泡排序 public static void bubbleSort(int[] value,int length){ for(int i=1;i<length;i++){ for(int j=0;j<length-i;j++){ if(valu...

2019-10-04 16:43:23 116

原创 深入理解堆排序

>>堆排序堆排序是插入排序的一种,且利用了数据结构中的完全二叉树。堆排序的思路: 给定一个数组,将数组排成这样一个完全二叉树:每个顶点大于子节点的叫大顶堆,每个顶点小于子节点的叫小顶堆,大顶堆是升序,小顶堆的降序。然后将第一个节点所得到的最值,与最后一个节点交换,并立即维护这个完全二叉树,循环直到只剩一个节点。平均时间复杂度: O(n log n)最好情况: O(n lo...

2019-10-04 16:07:28 111

原创 重读《月亮与六便士》

这本书是我最喜欢的书之一,重读此书并非偶然,这个故事里有某种东西深深的吸引着我,就像灵魂总是感到孤单一样自然,又像沙漠渴望水一样强烈。是什么在吸引着我呢?是象征着某种东西的月亮吗?还是月亮与六便士之间的抉择呢? 每个灵魂都只能站在自己的孤岛上眺望远方,它永远永远也无法穿过充满黑暗和未知的混沌空间到达其它的岛屿,我们只能试图去了解他人,在想象中去模拟别人的想法,我们真的能理解他人吗?脑海一...

2019-10-03 19:07:08 272

原创 深入理解归并排序

>>归并排序听到用到最多的还是冒泡排序和快速排序,归并排序只知其名,但是我还没实际使用过,今天又重新去理解它,发现它有快速排序的影子(分治递归),且这两个排序都是高效的高级排序,所以给了我一种印象:这种思想非常高大上,但当你仔细去瞧它,又觉得它平易近人。归并排序的思路: 给定一个数组,将数组分为两部分,先让左边的有序,在让右边的有序,最后将两部本合并。左边部分和右边部分又依次...

2019-10-03 17:12:22 128

原创 深入理解希尔排序

>>希尔排序希尔排序是在插入排序的基础上编写的,由于插入排序元素移动时每次只移动一个位置,所以在数组较大的情况下,效率会很低,因此引入了希尔排序。希尔排序的思路: 给定一个数组,引入增量,将数组在逻辑上分为几个组,每个组的元素下标相差一个增量,再对这个逻辑上数组进行插入排序。平均时间复杂度: O(n log n)最好情况: O(n log^2 n)最坏情况: O(n l...

2019-10-02 17:56:13 603

python代码热更代码

python代码热更代码

2023-06-13

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除