学无止境
文章平均质量分 75
do_smile
这个作者很懒,什么都没留下…
展开
-
动态规划:从新手到专家
转载出处:http://hawstein.com/posts/dp-novice-to-advanced.html简介(入门)什么是动态规划,我们要如何描述它?动态规划算法通常基于一个递推公式及一个或多个初始状态。 当前子问题的解将由上一次子问题的解推出。使用动态规划来解题只需要多项式时间复杂度, 因此它比回溯法、暴力法等要快许多。现在让我们通过一个例子来了转载 2015-04-22 10:30:44 · 503 阅读 · 1 评论 -
Scalable IO in Java
阻塞IO的server结构图:阻塞IO的server版本代码:class Server implements Runnable { public void run() { try { ServerSocket ss = new ServerSocket(PORT); while (!Thread.inter原创 2017-02-14 19:51:00 · 959 阅读 · 0 评论 -
MySQL的索引
每一个索引就对应着一棵树(1) 主键:MySQL会以主键的值构造一棵树,其叶子节点存放着该主键对应的整行数据。因此一张表在数据结构上就等价于一颗以主键排序好的树(2)辅助索引:自己建的索引一般都叫辅助索引,辅助索引树的叶子节点存放着两样东西,即辅助索引字段的值以及它所对应的主键值。因此当走辅助索引时,先从辅助索引树找到所需的主键,再到主键树上取出整行数据中的所需字段。举个例子,设ID为主键原创 2016-05-31 19:27:10 · 387 阅读 · 0 评论 -
Git的操作与理解
工作树:其存储着仓库内所有被管理文件 (untracked files是不记录在工作树中的) 的当前状态,随各文件的的改动而实时变化HEAD : 当前分支中最新一次提交的指针暂存区:提交之前的临时区域(工作区 -add-> 暂存区 -commit-> 版本库)git init : 初始化仓库,即为项目生成(.git)git status : 查看仓库状原创 2016-05-31 17:21:21 · 299 阅读 · 0 评论 -
阿里校招内推总结
内推的蚂蚁金服Java研发岗,从7月15日第一面到7月31的hr面,共计4轮技术面,一轮hr。于8月15日收到录用意向。7.15,20:45,一面:大概聊了24分钟自我介绍问数据库3NF与BCNF的区别问GC机制,如何使持久代溢出问数据库事务的四个特性讲Java并发,自己的理解,随便讲在平时是如何使用Java异常的网络商城中各个模块怎么划分的,spring中原创 2015-08-29 10:40:08 · 735 阅读 · 0 评论 -
Executor框架的简要分析
Executor框架的最大优点是把任务的提交和执行解耦,ExecutorService和其各种功能强大的实现类提供了非常简便方式来提交任务并获取任务执行结果,封装了任务执行的全部过程。而封装最大的效果是使得真正执行任务的线程们变得不为人知。使得操作友好,不用程序员关心具体的执行,只需要等结果就行了。比如用Executor.submit(Callable)返回Future,再调用Future.g原创 2015-08-06 14:12:08 · 505 阅读 · 0 评论 -
Java中的RTTI与反射
个人理解,可能有误。理解自《java编程思想》。首先,什么是RTTI?RTTI(run-time type information)指的是Java在运行时能够获得或判断某个对象的类型信。以Shape, Circle, Squre, Triangle为例,后三者继承shape。主要由三种方式:(1)转型:(Type) realTypeJava中,允许自由的upcast原创 2015-06-24 17:02:35 · 757 阅读 · 0 评论 -
Java 8 中的ConcurrentHashMap源码分析
在HashMap的分析中,介绍了hashmap不是线程安全的,其在并发环境使用fail-fast策略来抛出由并发错误导致的异常。先来看下Hashtable这个线程安全的容器,其虽然是线程安全的,但是其实现并发安全的手段比较粗暴。从下面的三个方法就能看出来,其只是简单的以自身作为对象锁,将相关方法都声明为synchronized,故每次只有一个线程能调用这些同步方法。//Hash原创 2015-07-16 14:41:41 · 7373 阅读 · 6 评论 -
代理模式、动态代理与AOP
先来说说代理模式(静态代理):其为23种设计模式之一,属于结构型模式,其主要思想是通过一个代理对象来代替真实对象来响应client的调用或请求。静态代理要求代理类与真实类实现一个共同的接口,这样代理对象才能在“型”上代替真实对象。类图如下:一个通过代理模式来代理并增强真实对象的简单示例://定义代理类与真实类的公共接口public interface Subject原创 2015-07-15 20:34:24 · 698 阅读 · 0 评论 -
Java中的泛型
所谓泛型,就是指编程语言中能够编写出更加“通用”、“泛化”的代码。希望能利用泛型,编写出一个能处理各种各样类型对象实例的处理过程代码。首先,考虑下面一段通用代码:public class SimpleHolder { //一个简单的通用的容器 private Object obj; //利用Object来达到通用性 pub原创 2015-07-07 16:22:50 · 339 阅读 · 0 评论 -
opencv的配置、使用
一、将下载后的文件解压到:E:\Opencv二、配置opencv的环境变量:系统path添加 E:\Opencv\opencv\build\x86\vc11; E:\Opencv\opencv\build\common\tbb\ia32\vc11; E:\Opencv\opencv\build\x86\vc11\bin; vc10是指VS201原创 2014-10-29 11:46:44 · 495 阅读 · 0 评论 -
Java 8 中HashMap源码分析
HashMap的系统介绍:HashMap实现了Map接口(注意:map类容器都没有实现Collection接口,只有set,list这类的容器才实现Collection),其对一般的基本操作(put,get,contains)能够保证常数时间,当然前提是hash function能让各个key分布的均匀。然而HashMap不能维护其内对的顺序,也不保证其中的顺序是一直不变的。有两个原创 2015-07-12 20:51:16 · 701 阅读 · 0 评论 -
排序算法总结
排序方法:public class SortMethods { /* -------- 插入排序 -------- */ //原理:将数组分为前后两个部分,每次从后面的未排序的部分中取出最前面的一个元素,插入到前面已经排序好的部分的合适位置处。 public void insertSort(int[] A) { for (int i = 0; i < A.length; i++)原创 2015-05-10 21:29:23 · 307 阅读 · 0 评论 -
Log4J
在程序的开发过程中,可以使用debug打断点来调试程序,观察程序的运行情况。那代码上线之后,怎么看程序的运行情况呢?打log。1、程序log的几处应用:定位问题观察程序的运行状态统计log的三大组件:Logger:输入日志的具体内容Appender:输出到哪里Layout:输出日志的样式2、打log的方式:打log无非原创 2017-02-14 19:55:23 · 308 阅读 · 0 评论