java
文章平均质量分 69
码到功成
智能时代的搬运工。
简书地址https://www.jianshu.com/u/107798e4d078
展开
-
计数排序
原理通过统计各个元素出现次数,以决定元素的位置。应用场景适合元素值不大,且重复较多的情况。计数排序的精髓在于通过统计次数进行排序,相比于比较排序算法,性能更佳。当适用场景有限,比如对公司员工按年龄排序等。性能时间复杂度仅O(n),空间复杂度O(n)。代码 /* 非常巧妙的实现 */ public static void countSort(int a[]){ if(a原创 2015-09-17 23:47:59 · 508 阅读 · 0 评论 -
猴子分桃子问题
题目题目:海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子凭据分为五份,多了一个,这只猴子把多的一个扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了一个,它同样把多的一个扔入海中,拿走了一份,第三、第四、第五只猴子都是这样做的,问海滩上原来最少有多少个桃子?原创 2015-09-19 12:12:45 · 837 阅读 · 3 评论 -
硬币组合问题
题目假设我们有8种不同面值的硬币{1,2,5,10,20,50,100,200},用这些硬币组合够成一个给定的数值n。例如n=200,那么一种可能的组合方式为 200 = 3 * 1 + 1*2 + 1*5 + 2*20 + 1 * 50 + 1 * 100. 问总过有多少种可能的组合方式?原题 转载分析这道题目是非常经典的动态规划算法题。给定一个数值sum,假设我们有m种不同类型的硬币v1,v2,原创 2015-09-19 16:57:28 · 1748 阅读 · 0 评论 -
JAVA类加载器原理
ClassLoader用于在运行时加载class文件。可以从文件系统、网络及其他源加载 Java有三个默认的ClassLoader,分别是:Bootstrap、Extension、System or Application类加载器。每一种类加载器都有预定义的加载路径,见下图。Java的类加载器遵循三原则: 1. 委派模型:当前ClassLoader优先把类加载请求委派给父ClassLoader加翻译 2017-10-11 19:20:51 · 485 阅读 · 0 评论 -
Java并发执行任务的几种方式
背景在编写业务代码时经常遇到并发执行多个任务的需求,因为串行执行太慢,会影响业务代码性能。特别对于直接面向普通用户的业务来说用户体验至关重要,保证用户体验重要的一点是要“快”。业务代码中经常需要调用其它业务接口或者同时从多个数据源取数据再处理等,这种情况下势必要走网络请求,网络消耗必不可少,最好的情况是毫秒级别,一般情况下是几十毫秒级别,甚至几百毫秒,TimeoutException恐怕大家并...原创 2018-05-06 08:33:59 · 13314 阅读 · 2 评论 -
Java字符编码—Unicode与UTF-8的区别
Unicode字符集Unicode,是计算机科学领域里的一项业界标准。为每种语言中的每个字符设定了统一并且唯一的整数值,把这个数值称为码点(Code Point)。但是它并不规定计算机如何存储和传输这个数值(以多少个字节存储,是定长还是变长,Unicode没有字节长度的概念)。Unicode 定义了一个码点空间包含1,114,112个码点,范围从0到0x10FFFF,也就是说,它仅仅是一个字...原创 2019-07-19 08:59:16 · 1131 阅读 · 0 评论