首页
学习
活动
专区
工具
TVP
发布

魂祭心

专栏作者
51
文章
59274
阅读量
30
订阅数
amt 数组算法
amt数据结构是一个八叉树,所有的数据节点都存储在叶子节点上。数组形态就表现在叶子上,把整个叶子节点按顺序拼在一起就是amt数组。不存在数据的索引节点会裁减掉,节省所需的数据空间。
魂祭心
2020-07-06
4640
sync.Pool实现原理
对象的创建和销毁会消耗一定的系统资源(内存,gc等),过多的创建销毁对象会带来内存不稳定与更长的gc停顿,因为go的gc不存在分代,因而更加不擅长处理这种问题。因而go早早就推出Pool包用于缓解这种情况。Pool用于核心的功能就是Put和Get。当我们需要一个对象的时候通过Get获取一个,创建的对象也可以Put放进池子里,通过这种方式可以反复利用现有对象,这样gc就不用高频的促发内存gc了。
魂祭心
2019-08-12
6250
micro微服务 基础组件的组织方式
micro是go语言实现的一个微服务框架,该框架自身实现了为服务常见的几大要素,网关,代理,注册中心,消息传递,也支持可插拔扩展。本本通过micro中的一个核心对象展开去探讨这个项目是如何实现这些组件并将其组织在一起工作的。
魂祭心
2019-07-22
6140
btcd p2p 网络分析
比特币依赖于对等网络来实现信息的共享与传输,网络中的每个节点即可以是客户端也可以是服务端,本篇文章基于比特币go版本btcd探索比特币对等网络的实现原理,整个实现从底层到上层可以分为地址,连接,节点三层,每层都有自己的功能与职责。下面逐一的分析这三个部分的构成与功能
魂祭心
2019-03-12
1.5K0
Decred 投票系统 源码分析
Decred是一种开源,渐进,自治的加密货币,和传统区块链不同的是,decred在保留pow共识的同时,还建立了一套基于持票人的pos系统。pos投票的作用体现在三个方面。
魂祭心
2019-03-12
1.6K0
NEO C# 合约编译器原理解析
c#的版本很多,从framework2.0到core2.3版本,语法差异很大,但是底层对应MSIL字节码没有变化,Neo的原理是先使用对应的编译器生成MSIL字节码,再把MSIL字节码转换成NEO vm的code码序列。这样做的好处在与利用了C#现有的语法成果,不必自己在设计一门语言,减少了合约编写的门槛。
魂祭心
2019-03-12
8610
原 利用Appdomain动态加载程序集,
结构图 生成目录和新的appdomain基目录相同,随时生成,随时加载。 接口代码     public interface FuncProcessings      {          void GetFunctionMessage(FuncMessage funcMessage);         string ReturnResult();     }     [Serializable]    public struct FuncMessage     {         private str
魂祭心
2018-05-17
1K0
原 Expression Trees学习
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Linq.Expressions; using System.Reflection; using System.Runtime.CompilerServices; using System.Windows.Forms; using System.Threading; namespace Expressionss
魂祭心
2018-05-17
8020
原 单例字典
public abstract class BaseCache<Tkey,Tvalue> :CachesInterface<Tkey, Tvalue> { private Dictionary<Tkey, Tvalue> _innerStore; protected Dictionary<Tkey, Tvalue> DataStore { get { if (_innerStore == null)
魂祭心
2018-05-17
5290
原 canvas绘制clock
之前看人做了,觉得蛮有意思的,自己也实现一个玩玩。 <!DOCTYPE html> <html> <head> <meta charset=utf-8> <meta name=description content=""> <meta name=viewport content="width=device-width, initial-scale=1"> <title>钟表</title> </head> <style> body{ background-color: black; } .w
魂祭心
2018-05-17
1.3K0
原 ObjectToJson实现
特性标记: [System.AttributeUsage(System.AttributeTargets.Property)] class UseForJsonAttribute : Attribute { public Boolean IsUse { get; set; } public UseForJsonAttribute(Boolean isUse) { IsUse = isUse; }
魂祭心
2018-05-17
4850
原 c#中闭包的实现方法
闭包即闭包是指可以包含自由(未绑定到特定对象)变量的代码块.表现出来是调用函数结束后,函数内的变量的生存周期拉长到调用者的生命。很多闭包实现成匿名函数(js也是表现成匿名函数的,其他的方法不清楚),3.0中引入了匿名函数,相应的也提供了闭包的支持。 闭包实例: class Program { static void Main(string[] args) { Action ss = bibao(); ss();
魂祭心
2018-05-17
1.6K0
原 NET中dictionary的一个小坑
问题描述:前段时间做个东西,打算在dictionary上按顺序扫描,不复合key条件的元素移动到末尾,然后减少计数,计算下 一个元素。目的就是一遍扫描实现对key的分组处理,减少遍历次数。然而程序表现与预想中不一致,表现                  出来 就 是移除再插入的顺序和处理前的顺序一致。                 复现后的场景:                   移除顺序对添加的顺序有影响。 原因:         产生这个问题的原因在于Dictionary内部的实现机制,简单来说
魂祭心
2018-05-17
6250
原 数学与多线程
场景1:读取大量文件,分析后,合并到一个二进制文件里面。 解决方案:多线程读取各个文件,分析各自写一份二进制缓存文件,最后合并各个缓存文件到一份文件里面。 设:  文件书n,开启线程m,每份文件分析阶段耗时p,每份合并文件耗时q。 逐个读取合并文件耗时:n(p+q); 多线程合并耗时:((n/m)*(p+q))*α+nq   (α是与线程m成反比的参数,机器环境影响很大) 成立条件:n(p+q)> ((n/m)*(p+q))*α+nq  解方程: q>(α/(m-α))*p  假设  α=a/m^β=> q
魂祭心
2018-05-17
6170
原 css3+js随机文字动画
<!DOCTYPE html> <html> <head>     <meta name="viewport" content="width=device-width" />     <title>Index</title>     <style>         .wrap {         height:100%;         width:100%;         position:absolute;         overflow: hidden;         margin-left:
魂祭心
2018-05-17
5.1K0
原 特别遍历树
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace TreeTest {     class Program     {         static List<Connect<Letter>>  letter = new List<Connect<Letter>>();         static voi
魂祭心
2018-05-17
6790
原 简单图像填充算法
填充算法 递归    private void fillsearch(Bitmap bmp, int x, int y, byte[,] flag,int num)         {             //向左   如果为1返回 如果不是1  计算当前值 如果不在范围内设为1返回 并且向下递归             if (Math.Abs(bmp.GetPixel(x, y).B - num) >50)             {                 flag[x, y] = 2;
魂祭心
2018-05-17
1.1K0
原 ionic+js+html5 飞行射击
js+html5写一个简单的飞行游戏引擎,游戏画面使用canvas绘图,引擎核心代码不到500行,原生js,没有依赖。 代码地址:https://github.com/hunjixin/ShootGame 游戏对象设计: 飞机(包括玩家和敌人)、子弹、击中效果。具体属性见代码注释 /** * 基类 */ function EObject (isShot) { this.Oid = -1 // id this.AllHp = 1 // 总HP this.Hp = 1 // 当前Hp thi
魂祭心
2018-05-17
1.4K0
原 What Every Dev need
What Every Dev needs to Know About Exceptions in the Runtime ============================================================ Date: 2005 CLR中的异常有个重要区别,他是托管异常,通过诸如c#的的try/catch/finally的形式开放给应用程序。还有运行时内部异常。大多数运行时开发者很少考虑如何生成并公开托管异常模型。但是运行时开发者需要知道异常是如何实现的。为了保证区分两种
魂祭心
2018-05-17
1.2K0
原 Data Access Compone
Data Access Component (DAC) Notes ================================= Date: 2007 调试托管代码需要对托管对象及其构造有深入的
魂祭心
2018-05-17
9640
点击加载更多
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档