随笔分类 - 编程语言
摘要:最近学习scala,了解了两个概念:class和type,什么是class,就是具有相同的class对象,List<String> ,List<Integer>具有相同的class, 什么是type,就是对象的绝对类型。List<String>和List<Integer>是不同的Type; java
阅读全文
摘要:FutureTask实现了Runnable和Future接口,是一个可取消的异步任务。利用开始和取消计算的方法、查询计算是否完成的方法和获取计算结果的方法,此类提供了对 Future 的基本实现。仅在计算完成时才能获取结果;如果计算尚未完成,则阻塞 get 方法。一旦计算完成,就不能再重新开始或取消
阅读全文
摘要:Semaphore字面意思是信号量,该信号量表示有多少个线程可以访问该资源,有点想object的wait和notify.不过object的只有一个线程可用Semaphore是多个线程可用。 Semaphore的方法都应该是同步的。
阅读全文
摘要:c++调用python的流程如下: 1:includt<boost/python.cpp> ;注意不用导入<python.h>文件 2:初始化python解释器: Py_Initialize() 3 : 调用别的Python/C API做一些环境的初始化操作。比如把python的全局锁,到脚本加入到
阅读全文
摘要:boost::python库是pyhon和c++相互交互的框架,可以再python中调用c++的类和方法,也可以让c++调用python的类和方法 python自身提供了一个Python/C API用来实现python和c++的交互,boost::python是Python/C API的包装,所以用
阅读全文
摘要:Boost.Python向python里面传递字符串时,引号是个很关键的问题。 python的方法如下: 打印的是:hello \" world 所以c++向python传递字符串的时候 ,引号不需要转义
阅读全文
摘要:本来想用mingw编译boost::python模块,网上看了下资料太少,只有使用vs2012 操作环境:win7 x64 python: x86 boost: 1.57 编译boost::python模块 编译boost::python模块 1: 开始->Microsoft Visual Stud
阅读全文
摘要:想用curl来做rest的客户端。所以就研究下这方面东西。 1:安装mingw 为什么用mingw,小巧,必vs快,gcc了解的多一些, http://tdm-gcc.tdragon.net/download,在这里根据不同的平台选择不同的版本,我下载的是tdm64-gcc-4.9.2-3.exe
阅读全文
摘要:使用IDEA阅读源码Navigate下面的工具是个好东西 。可以帮助分析类的结构等 ByteBufAllocator主要用来生成三种ByteBuf :HeadBuffer,DirectBuffer,CompositeBuffer. 还有一个ByteBufAllocator DEFAULT 静态属性。
阅读全文
摘要:system()这个函数就不说了,不能读取返回值。 切记不能用fgets,遇到换行符就傻逼了 注意: popen的第二个参数值为"r"和"w" ,怎么理解 ,当值为 "r"时,fread才可以读到值,值为”w",把值输出到标准输出流 pclose(fp) 返回的是子进程的状态码
阅读全文
摘要:ByteBuffer有两种一种是heap ByteBuffer,该类对象分配在JVM的堆内存里面,直接由Java虚拟机负责垃圾回收,一种是direct ByteBuffer是通过jni在虚拟机外内存中分配的。通过jmap无法查看该快内存的使用情况。只能通过top来看它的内存使用情况。 JVM堆内存大
阅读全文
摘要:通过类名就知道这是一个平台有关的类,通过对该类的学习可以帮助我们实现一个跨平台的应用。但是有些方法放的实现不是很好,比如:isWindows0。通过File的separator就可以判断出来。没必要那么复杂把。 目前平台的判断是推崇能力判断,这里也是通过这样来判断是否是android的,jdk的版本
阅读全文
摘要:priority_queue是一个容器适配器,在这个容器里第一个数据元素是最大的。它的使用场景是什么样:如果12306抢票,为什么黄牛能抢这么多票,感觉12306那边的请求队列是一个优先队列,黄牛的请求携带了一个隐含参数,所以他的请求最先执行。当然这是怀疑。不过也是优先级队列的使用场景。还可以进行排
阅读全文
摘要:c++调用python,底层就似乎fork一个子进程启动一个python的解释器,执行python文件,由于python解释器维护了一个内部状态,所以如果c++程序是多线程,每个线程都调用python,那么python就会报错,解决的方式就是在主线程中给python解释器加一个全局锁。当一个线程调用
阅读全文
摘要:所有学习c++的书籍都明确提出了,不要使用goto, 以免造成程序流程的混乱,使理解和调试程序都产生困难。 但是我们遇到这样一个场景怎么办:就是不管程序执行成功与否,都要执行一些资源释放语句,相当java中的finally语句。c++的中没有finally的支持,即使使用try catch,资源释放
阅读全文
摘要:这个方法在key不存在的时候加入一个值,如果key存在就不放入,等价: 测试代码: 结果为 gaoxinggaoxinggaoxing
阅读全文
摘要:数据结构学的烂,看这个类比较的吃力 PoolChunk主要使用long allocate(int normCapacity) 在buffer pool中分配buffer。这个类有几个重要的概念:page:是chunk中内存分配的最小单元,chunk:表示一系列的page, 一个chunk的大小chu
阅读全文
摘要:测试环境描述1:c++调用python,操作系统环境是linux 2:pycharm安装在windows 安装步骤 1:把pycharm-debug.egg上传到linux上面。 2:使用easy_install pycharm-debug.egg安装 3:设置pycharm的edit config
阅读全文
摘要:使用springmvc框架开发的Java web项目在本地测试的极好,结果部署到centos6.5上面去了,就出现了不能国际化的问题。 首先判断是程序中国际化出现了问题,结果一查发下了一个bug(会在博客spring mvc国际化中提到),但是没有解决核心问题,接下来猜测应该是系统的语言环境的问题。
阅读全文
摘要:看了PoolChunk源码,好多位操作,对这些位操作理解不到位,看起来很是吃力,不知道为什么要这么做,可能是性能更好 1:大小为2 的冥的数加1 怎么操作 size^1; 2: <=比较 mask=~(pageSize-1) num & mask !=0 那么num <=pageSize 4:<判断
阅读全文

浙公网安备 33010602011771号