dongcia.github.io's People
dongcia.github.io's Issues
java反射 插件化编程 | 小事记
https://dongcia.github.io/2018-01-26/java-pluggable/#more
JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为java语言的反射机制。利用这种机制,可以做很多天马行空的事情,现在简单看看如何利用它进行插件化的编程。
分布式系统的基石——ZooKeeper | 小事记
https://dongcia.github.io/2019-02-15/distribute-zk/#more
分布式一致性算法 Paxos:于1990年提出的一种基于消息传递且具有高度容错特性的一致性算法,为说明Paxos算法,有一个生动的希腊城邦议员的例子说明Paxos算法的工作过程,虽然有例子,理解起来还是比较困难。使用了该算法的著名开源组件有腾讯微信的:phxpaxos。 Zab:ZAB 协议是为分布式协调服务 ZooKeeper 专门设计的一种支持崩溃恢复的原子广播协议。在 ZooKeeper 中
pthread.h 相关函数使用方法集锦之线程同步变量 | 小事记
https://dongcia.github.io/2018-07-20/pthread-h-2/
前言pthread(POSIX thread),简称为pthread,是线程的POSIX标准,在类Unix操作系统中(Unix、Linux、Mac OS X等),都是用pthread作为操作系统的线程。<pthread.h>作为其编程标准的头文件,本文探讨里面的常用函数意义以及使用方法。 在多线程编程中,操作系统引入了锁机制。通过锁机制,能够保证在多核多线程环境中,在某一个时间点上,只
java 反射 | 小事记
tags | 小事记
C指针 | 小事记
https://dongcia.github.io/2018-02-01/c-zhi-zhen/#more
指针是写c、cpp永恒的话题,恰逢近来有所接触,总结一下指针的相关。 基本 两个符号 & 取址符 * 取值符 sizeof 指针 12345678int main(){ void *ptr = NULL; cout << sizeof(ptr) << endl;}--------------->>> 4 # 编译
Python “魔术”函数大全 | 小事记
Java Future的实现原理 | 小事记
https://dongcia.github.io/2018-09-25/future-de-she-ji-yu-shi-xian/#more
前阵子在用C++ 98(是比较落后了,嗯,C++11原生支持Future)开发的时候,对脱离业务的公共逻辑抽象出来了一个简单的任务执行框架,里面主要是线程池和一些同步异步的任务。在开发异步任务的时候,为了实现类似java Future模式的能力,对实现方式考量了好久,最终使用了信号量这么重的东西来实现了Future的能力,同时也不禁对java的Future实现产生兴趣,java的Future是怎
配置文件大全 | 小事记
https://dongcia.github.io/2018-03-06/pei-zhi-wen-jian-da-quan/#more
开发中会碰到各式各样的配置文件,语法、使用场景各有不同,故简单汇总一下。 1 .ini 多见于windows系统下,是windows 下采用的配置文件格式,.ini 文件是Initialization File的缩写。典型的如:windows安装mysql的配置文件my.ini。 语法 ini文件由section、key和value组成 section用中括号,key、value对用之间用=
Hello Hexo | 小事记
服务注册与服务发现的最简单实践 | 小事记
https://dongcia.github.io/2019-02-15/kazoo-service-discover/
在实际生产环境当中,面对高并发、大流量等的复杂环境,分布式架构是非常常见的架构,分布式架构可以增大系统容量,加强模块可用性、扩展性强;不同企业面对不同的环境,架构也各不相同,但万变不离其中,本文就来探讨分布式架构中的使用ZooKeeper实现服务注册与服务发现。
bug 汇总 | 小事记
https://dongcia.github.io/2018-09-03/bug-collection/
OpenBLAS 环境多线程OpenBLAS是优化的BLAS库,BLAS(Basic Linear Algebra Subprograms)即基础线性代数子程序库,里面拥有大量已经编写好的关于线性代数运算的程序。
CMake Hello World | 小事记
https://dongcia.github.io/2018-04-10/cmake-hello-world/
cmake是什么、为什么使用cmake在Linux环境编写C、C++时,常用make工具编译和链接工程,在单一的Linux环境下,make已经可以很好的发挥作用时;但在复杂的开发环境、运行环境下,make就有点捉襟见肘,make对环境的依赖很强,在不同环境下不同的编译器等,make工具makefile文件都需要根据实际情况进行修改,这意味着如果一个工程需要部署在复杂的环境下,对makefile的适
猴子补丁 | 小事记
https://dongcia.github.io/2018-01-26/hou-zi-bu-ding/#more
写了一段时间java切回写python偶尔会出现一些小麻烦,比如:在java中自定义对象变成json串很简单,调用一个方法就行,但同样的转换在python中却不太容易实现。在寻找python自定义对象转json串的过程中,接触到了猴子补丁这个东西,感觉还有点意思;本文先实现python自定义对象转json串,再简单谈一下猴子补丁。
开篇 | 小事记
https://dongcia.github.io/2018-01-26/kai-pian/
博客昨天工作之余抽空重新找回了荒废多年的公众号,也顺便用hexo搭了这个博客。 说起这个公众号,那还是大三时候折腾出来的东西,虽说那时候除了后台接驳了个机器人之外,没有正经发过一篇推送;但昨天最后找回的那一刻,心情还是有点激动的,毕竟呀,这岁月如斯。
Python yield关键字与协程 | 小事记
https://dongcia.github.io/2018-11-08/python-yield/
生成器generator在讨论协程之前,我们先来看看python的生成器。简单的来讲,在python里面,一边循环一边计算的机制叫做生成器。举个例子。 生成一个有1000个元素的列表可以这样生成:123l = [i for i in range(1000)]print l# [0, 1, 2, 3, 4, ...] 这种方法,在内存生成了一个有1000个元素的列表。比较占用内存。
进程间通信(IPC)——Unix Domain Socket VS TCP Socket | 小事记
https://dongcia.github.io/2019-02-14/ipc-socket-md/#more
进程间通信进程间通信就是不同进程间进行数据交换的过程。因为进程间相互独立,每个进程拥有独立的地址空间、数据处理逻辑,操作系统保证了进程独立运行的地址安全;但在复杂系统,单进程往往不能胜任业务需求,需要多进程的加入,多进程协作完成工作,这就离不开进程间通信这个话题了。
blog
线程与协程 | 小事记
https://dongcia.github.io/2018-11-13/thread-and-coroutine/#more
前言这篇文章是关于协程、线程与线程池的总结。相信有不少人曾经和我一样,不理解他们之间的差异和使用场景等等,那么在这篇文章,我尝试使用图解的方式对他们进行一个总结和对比,来了解他们的细节。
pthread.h 相关函数使用方法集锦之线程操作 | 小事记
https://dongcia.github.io/2018-07-18/pthread-h-shi-yong-fang-fa-da-quan/
前言pthread(POSIX thread),简称为pthread,是线程的POSIX标准,在类Unix操作系统中(Unix、Linux、Mac OS X等),都是用pthread作为操作系统的线程。<pthread.h>作为其编程标准的头文件,本文探讨里面的常用函数意义以及使用方法。
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.