- 博客(81)
- 资源 (2)
- 收藏
- 关注
翻译 Java基础知识总结
Java基础知识总结HashMap Key讨论HashMap是存储键值对的数据结构,根据Key可以O(1)地获取值。但是有些内容是不适合作为key的,譬如可变对象。 可变对象是指创建后它的哈希值可以发生变化。JVMjava内存管理方法区、堆、虚拟机栈、本地方法栈、程序计数器。其中方法区、堆是所有线程共享的;虚拟机栈、本地方法栈、程序计数器是各个线程自有的。程序计数器:(program c...
2019-05-19 16:09:52 148
原创 sql 语句一些原则
mysql 的innoDB存储引擎使用的索引采用的是B+树数据结构。B+树数据结构内部节点只是键值,真正的数据存放在叶子节点。索引的分类:主键索引、普通索引、唯一键索引、组合索引。where 条件顺序会影响索引的生效;条件顺序一定要按照索引字段的顺序。 对于 in like 或者表达式索引也是不生效的。...
2018-11-07 19:59:26 160
原创 JAVA 垃圾收集日志分析
每种收集器的日志形式都是由它们自身的实现所决定的,换言之,每种收集器的日志格式都可以不一样。不过虚拟机为了方便用户阅读,将各个收集器的日志都维持了一定的共性,来看下面的一段GC日志: [GC [DefNew: 310K->194K(2368K), 0.0269163 secs] 310K->194K(7680K), 0.0269513 secs] [Times: user=0.00 ...
2018-06-04 22:35:17 332
原创 Java工具包
Java工具包在 Apache Jakarta Common 中, Lang 这个 Java 工具包是所有 Apache Jakarta Common 项目中被使用最广泛的,几乎你所知道的名气比较大的软件里面都有用到它,包括 Tomcat, Weblogic, Websphere, Eclipse 等等。我们就从这个包开始介绍整个 common 项目。 Lang 中工具类比较多,这里介绍几个主要的
2017-08-14 21:46:26 277
原创 Java8 Lambda表达式学习心得
lambda表达式是java8引入的重要特性,java语言向函数式编程迈向了一步。函数式编程非常适合处理大数据,同时函数式编程可以是代码更直观、更易懂;但是函数式编程,在java调式中比较难以调式查看堆栈。lambda表达式的定义lambda表达式允许你通过表达式代替函数接口;表达式和方法一样,有参数列表和方法体。lambda表达式增强了集合库,增加了java.util.stream和java.ut
2017-05-10 16:56:39 250
原创 Java ThreadPool源码简单的解析
由于工作的需要,在实际的工作中使用java 线程池。现在对java的线程池ThreadPool做简单的解析。大体的主要类图关系:![类图](http://img.blog.csdn.net/20160803203424920)其中对外暴露的核心方法为execute,具体的代码如下 public void execute(Runnable command) { if (com
2016-08-04 19:36:06 462
原创 Anaconda python
个人认为Anaconda就是一个python安装包管理器。Anaconda是一个和Canopy类似的科学计算环境,但用起来更加方便。自带的包管理器conda也很强大。输入 conda list 来看一下所有安装时自带的Python扩展conda install xxxx 安装命令
2016-01-19 20:43:47 372
原创 String,StringBuffer,StringBuilder比较
String 字符串常量,StringBuffer字符串变量而且是线程安全的,StringBuilder字符串变量是非线程安全。 String对象和StringBuffer对象主要性能区别是String对象是不可修改的,如果对String的对象赋值时,是重新生成一个String对象,然后这个对象就会指向这个新的对象;所以如果经常改变对象事,建议不要使用String定义。StringBuffer的对
2016-01-13 20:23:57 264
原创 Java高级特性 内省
Java內省在计算机编程中定义:通过Java內省可以获取bean是什么,能做什么。我个人理解:java语言对Bean类属性、事件一种缺省的处理方法;例如类中有属性 name, 那我们可以通过 getName,setName 来得到其值或者设置新的值。通过 getName/setName 来访问 name 属性,这就是默认的规则。 Java 中提供了一套 API 用来访问某个属性的 getter
2015-09-30 11:16:51 285
原创 数值拟合
import numpydef polyfit(x, y, degree): results = {} coeffs = numpy.polyfit(x, y, degree) results['polynomial'] = coeffs.tolist() # r-squared p = numpy.poly1d(coeffs)
2015-09-18 09:08:25 548
原创 java 正则表达式
最近做项目用到正则表达式,现在对用到的正则表达式做下总结,以下java为例。在java中,正则表达式工具包是java.util.regex。在regex包中包括Pattern(模式类)和Matcher(匹配器类)。Pattern类是用来表达所要搜索模式的对象,Matcher类是真正影响搜索的对象。另加一个新的例外类,PatternSyntaxException,当遇到不合法的搜索模式时,会抛出的异常
2015-09-08 19:54:14 337
转载 娱乐自己
明天你是否会想起昨天你写的程序明天你是否还惦记曾经爱编程的你领导们都已想不起曾经加班的你我也是偶然看程序才想起同事的你谁聘了牛B烘烘的你谁安慰天天加班的你谁把你的设计做起谁给你做的升级你从前总是很小心从不把离职的事提起你也曾无意中说起薪水实在太低那时候屏幕总是在闪
2014-06-06 15:24:39 425
原创 Spring IOC与AOP解释
1、Spring IOC IoC 与 DI 首先想说说 IoC ( Inversion of Control ,控制倒转)。这是 spring 的核心,贯穿始终。所谓 IoC ,对于spring 框架来说,就是由 spring 来负责控制对象的生命周期和 对象间的关系。这是什么意思呢,举个简单的例子,我们是如何找女朋友的?常见的情况是,我们到处去看哪里有长得漂亮身材又好的 mm
2013-10-06 22:21:24 509
原创 Linux 条件变量
pthread_cond_t条件变量可以允许进程阻塞并且等待另一个事件的发生发出信号;它常和互斥锁一起使用。使用时,条件变量被用来阻塞一个进程,当条件不满足时,它会解开互斥锁并等待条件的发生。一旦其他的进程改变了条件变量,它将通知响应的条件变量唤醒进程,这些进程重新获的互斥锁并重新测试变量
2013-10-06 11:30:07 335
原创 高性能IO设计
在高性能的I/O设计中,有两个比较著名的模式Reactor和Proactor模式,其中Reactor模式用于同步I/O,而Proactor运用于异步I/O操作。 在比较这两个模式之前,我们首先的搞明白几个概念,什么是阻塞和非阻塞,什么是同步和异步,同步和异步是针对应用程序和内核的交互而言的,同步指的是用户进程触发IO操作并等待或者轮询的去查看IO操作是否就绪,而异步是指
2013-10-04 10:02:58 489
原创 new 对象详细过程
new详细过程是:先分配内存空间,调用构造函数进行初始化,返回指针。A * a = new A(3);相当于A*a = (A*)malloc(sizeof(A));a->A::A(3);return a
2013-10-03 19:54:44 549
原创 100盏灯
问题:有100盏灯泡,第一轮点亮所有电灯,第二轮每两盏灯熄灭一盏,即熄灭第2盏,第4盏,以此类推,第三轮改变编号为3的倍数的电灯,第3盏,第6盏,如果原来那盏灯是亮的,就熄灭它,如果原来是灭的,就点亮它,以此类推,直到第100轮。问第100结束后,还有多少盏灯泡是亮的?解答:由题意最如果最后某一盏灯是亮着的,那么它一定是被切换了奇数次(第0次的时候全部都关着)。
2013-10-03 17:13:18 559
转载 内存池 C++
引言本书主要针对的是 C++ 程序的性能优化,深入介绍 C++ 程序性能优化的方法和实例。全书由 4 个篇组成,第 1 篇介绍 C++ 语言的对象模型,该篇是优化 C++ 程序的基础;第 2 篇主要针对如何优化 C++ 程序的内存使用;第 3 篇介绍如何优化程序的启动性能;第 4 篇介绍了三类性能优化工具,即内存分析工具、性能分析工具和 I/O 检测工具,它们是测量程序性能的利器。
2013-10-03 16:10:29 409
原创 LInux 内存管理(上)
摘要:本章首先以应用程序开发者的角度审视Linux的进程内存管理,在此基础上逐步深入到内核中讨论系统物理内存管理和内核内存地使用方法。力求从外自内、水到渠成地引导网友分析Linux地内存管理与使用。在本章最后我们给出一个内存映射地实例,帮助网友们理解内核内存管理与用户内存管理之间地关系,希望大家最终能驾驭Linux内存管理。 前言内存管理一向是所有操作系统书籍不惜笔墨重点讨论的内容,无
2013-09-25 16:21:44 421
原创 物理内存管理(页管理)
Linux内核管理物理内存是通过分页机制实现的,它将整个内存划分成无数4k(在i386体系结构中)大小页,从而分配和回收内存的基本单位便是内存页了。利用分页管理有助于灵活分配内存地址,因为分配时不必要求必须有大块的连续内存[1],系统可以东一页、西一页的凑出所需要的内存供进程使用。虽然如此,但是实际上系统使用内存还是倾向于分配连续的内存块,因为分配连续内存时,页表不需要更改,因此能降低TLB的刷新
2013-09-25 16:20:50 1000
转载 C++虚函数的原理
C++虚函数的原理理解虚函数( virtual function )的几个关键点:1. 理解早绑定(early binding)、晚绑定(late binding)。所谓early binding:On compile time,就能明确一个函数调用是对哪个对象的哪个成员函数进行的,即编译时就晓得了确定的函数地址;所谓late binding:O
2013-09-07 22:19:30 291
原创 Linux 比较牛逼的命令 录制和重播命令
script 和scriptreplay录制和重播终端会话的命令。格式如下:script -t 2> timing.log -a output.sessioncommandexit解释:timing.log是时序文件,output.session记录会话内容的文件;-t 2>重定向到timing.log文件中重播命令scriptreplay timin
2013-07-12 16:38:40 446
原创 hadoop之shuffle
Shuffle过程是MapReduce的核心,也被称为奇迹发生的地方。要想理解MapReduce, Shuffle是必须要了解的。我看过很多相关的资料,但每次看完都云里雾里的绕着,很难理清大致的逻辑,反而越搅越混。前段时间在做MapReduce job 性能调优的工作,需要深入代码研究MapReduce的运行机制,这才对Shuffle探了个究竟。考虑到之前我在看相关资料而看不懂时很恼火,所以在这里
2013-07-05 11:09:59 500 1
原创 Eclipse中安装Visual Editor
在Eclipse中安装Visual Editor在Eclipse中安装Visual Editor我是先接触VC6.0进行C++程序开发的,然后才接触Eclipse进行Java程序开发的。大家都知道在VC6.0里面对窗口的设计都是可视化的,VC6.0有相应的窗口资源编辑器,支持拖放功能,随便想放个按钮、文本框的,很简单,拖过去,取个ID,设置文本后面就可以用了~!~!反正很eas
2013-06-18 09:28:47 775
原创 类型转换函数
C++程序兼容C语言的转化,但是针对面向对象语言的特性,设计了以下几个类型转换操作符。他们的出现是为了C语言类型转换中语义模糊和固有的危险陷阱,因为C语言不去判断所要操作的类型转换是否合理。static_cast:用于非多态类型的转换。dynamic_cast:用于多态类型的转换。const_cast:用来消除const, volatile, __unaligned属性的转换。re
2013-06-13 14:53:18 398
原创 C++面试题
1.new、delete、malloc、free关系delete会调用对象的析构函数,和new对应free只会释放内存,new调用构造函数。malloc与free是C++/C语言的标准库函数,new/delete是C++的运算符。它们都可用于申请动态内存和释放内存。对于非内部数据类型的对象而言,光用maloc/free无法满足动态对象的要求。对象在创建的同时要自动执行构造函数,对象在消亡之前要
2013-06-13 14:05:31 557
原创 Linux 守护进程创建
守护进程是在后台运行,不受用户的控制;守护进程没有任何存在的父进程。如果一个进程想成为守护进程,有fork()创建;然后终止父进程,脱离资源。例子:void init_daemon(){ int pid,i; pid = fork(); if(pid) exit(0);//结束父进程 else exit(1);//失败退出
2013-05-22 10:45:04 332
原创 Apache Solr环境的搭建
Lucene是一个基于Java的全文检索工具包,并不是一个完整的应用程序;只提供建立索引和搜索功能;是一个开源的项目。Apache Solr是一个企业级全文搜索服务器,是Lucene的扩展,服务通信基于Http和xml;Solr的特性是全文检索、高亮显示搜索结果、动态集群和数据库电子文档的接口;还支持分布搜索和索引复制。JRE6.0 tomcat 6.0 Apache Solr 3.
2013-05-11 13:46:42 624
原创 Jbpm4的IOC容器
Jbpm4的IOC容器 和Jbpm3一样,Jbpm4实现了自己的IOC容器。以现在的眼光看来,应用程序里一个IOC容器几乎是居家必备的,否则,又要平白多出一坨一坨的工厂类和单态类来。一、 Jbpm4 IOC容器介绍IOC容器的目的是管理组件和实现组件之间的解耦。和Spring里的BeanFactory对应,Jbpm4里的接口是Context,具体实现则是WireC
2013-05-10 10:14:45 305
原创 jBPM4的运行期环境
jBPM4的运行期环境 万物生长靠太阳,儿童的生长离不开土壤、空气和水,当然,也离不开绿坝娘的调教。应用程序也是如此,离不开数据库连接、事务、日志、消息等,这些,共同构成了应用程序的运行期环境。 理想中的环境是什么样子的哩。好吧,一句话,召之即来,挥之即去,当需要某个服务时,ok,打个响指,该服务就准备好被调用了,调用完毕后也不用费心费力地擦屁股,不必老是提心吊
2013-05-10 10:01:54 371
原创 java GC
java 垃圾回收机制:当程序员创建对象时,GC就开始监控对象的大小、地址以及状态的变化;GC通过有向图来管理和监控对象,有些对象是可达的、有些是不可达的;GC对不可达的对象进行内存回收。内存的回收并不是马上执行的;人为的System.gc(),java规范也并不保证JVM一定执行。
2013-05-02 20:52:42 325
原创 c++ 命令模式
命令模式的设计:关键是将一个请求封装到一个command的类中,在提供处理对象Receiver;最后command命令有invoke激活class Receive{ public: void execute() { }}class Command{ private:Receive *m_re; public:
2013-04-27 16:53:26 371
原创 Hibernate框架的机制和原理
学习和使用hibernate很有必要归纳理解下hibernate的原理机制;hibernate是一个持久层的框架,是ORM思想的一个实现。框架图如下:hibernate的框架的运行过程:hibernate随着应用程序的启动也会启动,启动的过程就是一系列的初始化的过程。构造Configuration实例,加载数据库配置文件或属性文件,紧接着加载hibernate的映射文件至内存。现在
2013-04-19 17:02:37 1083
原创 jBPM源码需要的第三方类库
在eclipse中运行jbpm4.4的流程测试用例 JBPM的源代码中有一些流程测试用例,对我们理解JBPM的运行机制和以JBPM为流程引擎进行二次开发都有很大的帮助,同时对我们理解JDPL也有一定的帮助。那么我们怎么样才能够在拿到JBPM源代码以后,最快的速度运行其中的测试用例呢?下面将我的方法分享如下: 使用JBPM的jar包 1.新建java pro
2013-04-19 10:34:22 701
原创 腾讯--随机数
已知随机数rand5(),求rand7()int rand7(){ return (rand5()+(rand5()-1)*5)%7;}
2013-04-17 16:09:34 545
原创 等概率生成器
假设生成0的概率是p,生成1的概率是1-p,则生成01和10的概率相等。随机生成0、1int rand_Z_One(){ int n = rand(); if(n>1000) return 0; else return 1;}等概率生成0、1即概率为0.5;int newRand
2013-04-17 16:00:10 513
原创 前缀树的介绍和应用
字典树==前缀树==Trie树:查询某个单词(前缀)在所有单词中出现次数的一种数据结构查询和插入时间复杂度都是O(n),是一种以空间换时间的方法。#include #define MAX 26 typedef struct TrieNode{ int nCount; struct TrieNode *next[MAX];}
2013-04-16 21:40:44 595
原创 字符串的系列操作
实现子字符的查找;返回子字符串在付字符串中首次出现的位置(指针)char* strstr(char* parent,char* child){if(child==NULL||parent==NULL)return NULL;char *p = parent;int clen = strlen(child); int plen = strlen(p);while
2013-04-15 15:21:34 400
原创 身高排列问题
作者:baihacker 来源:http://hi.baidu.com/feixue http://hi.csdn.net/baihacker 问题描述: 12个高矮不同的人,排成两排,每排必须是从矮到高排列,而且第二排比对应的第一排的人高,问排列方式有多少种? 这个笔试题,很YD,因为把某个递归关系隐藏得很深. 问题分析: 我们先把这12个人从低到高排列,然后,选
2013-04-14 22:05:02 1567
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人