- 博客(75)
- 资源 (39)
- 收藏
- 关注
原创 Java中抽象类与接口的区别 | Java基础
在Java中,abstract class和interface是支持抽象类定义的两种机制。两者在对于抽象类的支持方面具有很大的相似性,甚至可以互相替换,有些人认为在Java中可以完全用接口替换抽象类,其实不然,抽象和接口类各有长处,两者结合使用达到取长补短的目的。抽象类(abstract class)是位于上层更具有通用性,甚至更加抽象,抽象类是一类事物的高度聚合。从这个角度看,祖先类更加通用
2016-03-31 21:05:01 505
原创 利用反射机制分析类 | Java基础
反射机制的功能极其强大,反射机制可以用来:1. 在运行中分析类的能力2. 在运行中查看对象,例如,编写一个toString方法供所有类使用3. 实现通用的数组操作代码4. 利用Method对象,这个对象很像C++中的函数指针实际上,反射机制的默认行为受限于Java的访问控制。然而,如果一个Java程序没有收到安全管理器的控制,就可以覆盖访问控制。为了达到这个目的,需要对用F
2016-03-31 15:24:41 421
原创 如何利用反射机制另一个类中的private属性 | Java基础
反射机制的功能极其强大,反射机制可以用来:1. 在运行中分析类的能力2. 在运行中查看对象,例如,编写一个toString方法供所有类使用3. 实现通用的数组操作代码4. 利用Method对象,这个对象很像C++中的函数指针实际上,反射机制的默认行为受限于Java的访问控制。然而,如果一个Java程序没有收到安全管理器的控制,就可以覆盖访问控制。为了达到这个目的,需要对用F
2016-03-31 14:52:18 801
原创 169. Majority Element | Java最短代码实现
原题链接:169. Majority Element【思路】用一个c计数,majorEle保存假定的Majority Element,当majorEle与当前数组元素不同的时候,c--,否则c++,当c = 0的时候,用当前数组元素替换majorEle,最后的majorEle一定是Majority Element: public int majorityElement(int[]
2016-03-31 00:46:01 474
原创 217. Contains Duplicate | Java最短代码实现
原题链接:217. Contains Duplicate【思路】利用hashset的唯一性,逐一往set里添加num,一旦发现添加失败,表示有重复元素,返回true,否则,返回false: public boolean containsDuplicate(int[] nums) { Set set = new HashSet(); for (int
2016-03-31 00:27:34 305
转载 Java中的native方法
原文链接:java中的native方法Java不是完美的,Java的不足除了体现在运行速度上要比传统的C++慢许多之外,Java无法直接访问到操作系统底层(如系统硬件等),为此Java使用native方法来扩展Java程序的功能。 可以将native方法比作Java程序同C程序的接口,其实现步骤: 1、在Java中声明native()方法,然后编译。 2、用javah产生一个
2016-03-30 21:12:26 1081
原创 java中方法可以不写返回类型吗?
今天看到Arrays的toString()方法源码,发现方法内并没有在最后追加return: public static String toString(Object[] a) { if (a == null) return "null"; int iMax = a.length - 1; if (iMax ==
2016-03-30 15:33:02 1569
原创 171. Excel Sheet Column Number | Java最短代码实现
原题链接:171. Excel Sheet Column Number【思路】将大写字母映射为26进制数,A的unicode转化为int值为65,即'A' = 65。那么任何一个大写字母减'A'再加1就满足题目的映射关系,如'C' - ’A' + 1 = 67 - 64 = 3。仿造十进制,从左到右乘以进制再加上当前值就可以: public int titleToNumber(S
2016-03-30 00:48:34 454
转载 Java中的静态绑定和动态绑定
原文链接:Java中的静态绑定和动态绑定Java中的静态绑定和动态绑定来源:互联网 作者:佚名 时间:2015-01-16 10:07原文出处: androidyue 一个Java程序的执行要经过编译和执行(解释)这两个步骤,同时Java又是面向对象的编程语言。当子类和父类存在同一个方法,子类重写了父类的方法,程序在运行时调用方法是调用父类的方法还是
2016-03-28 17:51:51 453
原创 242. Valid Anagram | Java最短代码实现
原题链接:242. Valid Anagram【思路】建立一个容量为26大小的int,并将字母转化为int值——将字符串的每个字母char值减去‘a'得到,作为数组索引,字母出现次数作为数组值: public boolean isAnagram(String s, String t) { int[] table = new int[26]; for
2016-03-28 00:29:59 423
原创 226. Invert Binary Tree | Java最短代码实现
原题链接:226. Invert Binary Tree【思路】对于每个节点,交换左右子树,然后递归左右子树,这样就实现了数的反转: public TreeNode invertTree(TreeNode root) { if (root == null) return root; TreeNode tmp = root.left;
2016-03-27 00:22:36 640
转载 Java中的字符串常量池
Java中的字符串常量池发布时间:2014-12-22 21:27:37 编辑:AHLinux.comJava中字符串对象创建有两种形式,一种为字面量形式,如 String str = "droid"; ,另一种就是使用 new 这种标准的构造对象的方法,Java中字符串对象创建有两种形式,一种为字面量形式,如 String
2016-03-25 17:41:54 730
转载 Java中由substring方法引发的内存泄漏
原博客链接:Java中由substring方法引发的内存泄漏在Java中我们无须关心内存的释放,JVM提供了内存管理机制,有垃圾回收器帮助回收不需要的对象。但实际中一些不当的使用仍然会导致一系列的内存问题,常见的就是内存泄漏和内存溢出内存溢出(out of memory ):通俗的说就是内存不够用了,比如在一个无限循环中不断创建一个大的对象,很快就会引发内存溢出。内存泄漏(
2016-03-25 15:59:02 418
原创 Java中final、finally、finalize的区别 | Java基础
简单区别:final用于声明属性,方法和类,分别表示属性不可交变,方法不可覆盖,类不可继承。finally是异常处理语句结构的一部分,表示总是执行。finalize是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,供垃圾收集时的其他资源回收,例如关闭文件等。
2016-03-25 13:05:42 399
原创 Java中的基本数据类型 | Java基础
Java是一种强类型语言,这就意味着必须为每一个变量声明一种类型。Java的八大基本数据类型为: 整型 byte字节型1字节 8bit 最大存储数据量是255,存放的数据范围是-128~127之间 short短整型2字节 16bit最大数据存储量是65536,数据范围是-32768~32767之间 -32768~32767i
2016-03-25 12:38:45 366
原创 char可以存储汉字吗?| Java基础
在Java中一共有8种基本类型,其中有4种整型、2中浮点类型、一种用于表示Unicode的字符单元的字符类型char和一种用于表示真值的boolean类型。int : 占4字节,取值范围:-214
2016-03-25 12:02:02 18844 3
原创 leetcode 322. Coin Change-硬币交换|动态规划
原题链接:322. Coin Change【思路】本题考查动态规划。也许一开始很容易想到用贪心算法,但是贪心算法在某些情况下是不成立的,比如coins = [1, 3, 5, 6],要amount = 11,用贪心法返回3,实际上最少的是2(3 + 5)。因而改用动态规划,用dp存储硬币数量,dp[i] 表示凑齐钱数 i 需要的最少硬币数,那么凑齐钱数 amount 最少硬币数为:固定钱数
2016-03-24 23:19:37 12683 5
原创 151. Reverse Words in a String | Java最短代码实现
原题链接:151. Reverse Words in a String【思路】以空格划分数组,然后从数组的最后到开头添加数组到result,最后去除result结尾的空格: public String reverseWords(String s) { String[] arr = s.split(" "); String result = ""
2016-03-24 21:44:26 626
原创 187. Repeated DNA Sequences | Java最短代码实现
原题链接:187. Repeated DNA Sequences【思路】本题考查hashmap和位运算的综合。我们首先来看字母 ”A" "C" “G" "T" 的ASCII码,分别是65, 67, 71, 84,二进制表示为 1000001, 1000011, 1000111, 1010100。可以看到红色部分2bit 就可以区分不同的字符。那么一共需要2 × 10 = 20bit,用
2016-03-24 20:53:39 485
原创 31. Next Permutation | Java最短代码实现
原题链接:31. Next Permutation【思路】首先,我们来了解一下——字典序法:C++的STL库里面有nextPermutation()方法,其实现就是字典序法。下图简单明了地介绍了字典序法例如,1234的全排列如下:简单归纳,从右边开始,找到第一个正序数 nums[i] ,然后从右边找第一个大于 num[i] 的数 nums[j](
2016-03-24 17:39:19 1743
原创 60. Permutation Sequence | Java最短代码实现
原题链接:60. Permutation Sequence【思路】假设有n个元素,第K个permutation是a1, a2, a3, ..... ..., an那么a1是哪一个数字呢?我们可以把a1去掉,那么剩下的permutation为a2, a3, .... .... an, 共计n-1个元素。 n-1个元素共有(n-1)!组排列,那么这里就可以知道设变量K1
2016-03-24 15:28:43 1418 1
原创 221. Maximal Square | Java最短代码实现
原题链接:221. Maximal Square【思路】本题考查动态规划。我们知道当 maxtrix[i][j] = '1' 时,以 matrix[i][j] 为正方形右下角的边长,最多比以 matrix[i - 1][j]、matrix[i][j - 1]、matrix[i - 1][j - 1] 为右下角的正方形边长大1。如果以 matrix[i - 1][j]、matrix[i][j
2016-03-24 10:20:10 1162
原创 131. Palindrome Partitioning | Java最短代码实现
原题链接:131. Palindrome Partitioning【思路】本题考查回溯算法。从下标0开始遍历字符串,一旦在下标 i 找到回文子字符串,那么就把下标从 0 到 i 的子字符串加入temp中,继续从下标 i 接着往下找,一旦curIndex等于字符串长度,那么就把temp加入到result中。如果一直到最后都没找到回文子字符串,那么就进行剪枝: public List
2016-03-24 00:41:15 1226
原创 229. Majority Element II | Java最短代码实现
原题链接:229. Majority Element II【思路】1. 超过n/3元素个数最多只有2个,记为num1和num22. 数组中连续3个数据为一组的话,一共n/3组,那么如果存在符合条件的元素,这个元素一定出现在某一个组内两次3. 知道了以上两个条件后,用所谓的摩尔投票法,共两轮, 第一轮:找出出现次数最多的两个元素,每次存储两个元素num1和num2,如果第
2016-03-23 23:42:15 518
原创 306. Additive Number | Java最短代码实现
原题链接:306. Additive Number【思路】 public boolean isAdditiveNumber(String num) { for (int i = 1; i <= num.length() / 2; i++) for (int j = 1; j + i < num.length(); j++)
2016-03-23 00:43:21 975 2
原创 227. Basic Calculator II-基础计算器
原题链接:227. Basic Calculator II相似博文:224. Basic Calculator | Java最短代码实现【思路】本题考查字符串和数学运算的结合。有两种做法:第一种做法是第一遍先扫描乘除,第二遍扫描加减;第二种做法是将中间结果暂时压入栈中,遇到乘除,则从栈顶取出元素,再进行乘除运算,过后再压栈。本解法采用第二种做法: public int cal
2016-03-23 00:27:15 718
原创 91. Decode Ways | Java最短代码实现
原题链接:91. Decode Ways【思路】本题考查动态规划。用nums数组记录解码种数,nums[i]表示到第 i 个字符,字符串s的解码种数,它由 nums[i - 1]和 nums[i - 2]的解码种数之和,但是会有一些限制,限制条件就是for循环中的2个if语句(第 i - 1个字符的值不能为0,第 i - 2和第 i - 1表示的2位数是大于0,且小于27的):
2016-03-22 20:39:39 1320
原创 93. Restore IP Addresses | Java最短代码实现
原题链接:93. Restore IP Addresses【思路】本题考察回溯算法。本解法采用回溯算法,将ip分为4个字段,需要注意下面几点:1. 每个字段的值均不超过255,且不以0为开头(单独的0允许)。否则,剪枝。2. 如果4个字段都加入到temp中之后,四个字段长度之和不等于s.length() - 1,那么不可加入到result中。 public List re
2016-03-22 15:53:46 715
原创 3. Longest Substring Without Repeating Characters | Java最短代码实现
原题链接:3. Longest Substring Without Repeating Characters【思路】本题考查最长的子字符串。本题用一个256大小的数组存储字符,数组 position[i] 的值代表上一次出现int类型的字符 i 的位置,在第二次出现该字符的时候,更新 start 位置,和maxLen的长度。以"abcabcbb"为例,当遍历到第二个a前一刻,start
2016-03-21 17:28:08 303
原创 18. 4Sum | Java最短代码实现
原题链接:18. 4Sum【思路】 public List> fourSum(int[] nums, int target) { List> result = new ArrayList>(); Arrays.sort(nums); for (int i = 0; i < nums.length - 3; i++) {
2016-03-21 00:36:32 562
原创 5. Longest Palindromic Substring | Java最短代码实现
原题链接:5. Longest Palindromic Substring【思路】本题考查回文字符串。求最长回文子串无非两种情况:1.以该字符为对称轴,同时向左、向右两个方向进行判断2.以两字符串中间的空隙为中轴线,同时向左、向右进行判断顺序遍历字符串就可以得到结果: public String longestPalindrome(String s) {
2016-03-20 23:17:59 819
原创 47. Permutations II | Java最短代码实现
原题链接:47. Permutations II【思路】本题考查的是回溯算法。与 46. Permutations 不同的是本题数组中的元素可能重复。为此增加了一个记录数组visit。重点在于要能理解!visited.contains(i-1)要理解这个,首先要明白i作为数组内序号,i是唯一的,给出一个排好序的数组,[1,2,2] 第一层递归
2016-03-20 21:15:43 1262
原创 224. Basic Calculator | Java最短代码实现
原题链接:224. Basic Calculator【思路】本题考查字符串的基本操作。总共遇到的情况有:数字、+、-、空格、左括号、右括号,6种情况。1. 没有括号时正常运算,将结果存入res中2. 遇到左括号时将res及括号之前的运算符压栈3. 遇到右括号时将当前值乘以左括号之前的符号(stack中取出),并加上左括号前的运算结果(stack中取出): public
2016-03-20 15:12:17 1489
原创 71. Simplify Path | Java最短代码实现
原题链接:71. Simplify Path【思路】本题考查字符串和栈的基本操作。本身并不难: public String simplifyPath(String path) { Stack stack = new Stack(); String temp = ""; for (int i = 0; i < path.length(
2016-03-19 23:42:02 603
原创 206. Reverse Linked List | Java最短代码实现
原题链接:206. Reverse Linked List【思路】本题考查链表的反转。以 1 -> 2 -> 3 -> 4 -> 5 的反转为例,对代码进行剖析: null 4 -> 5 head p、q null 5
2016-03-19 22:32:59 878
原创 143. Reorder List | Java最短代码实现
原题链接:143. Reorder List【思路】本题考查链表的归并、反转、查找中间结点等知识点。由于过程比较复杂,我的代码尽量写的逻辑清晰,以 [1, 2, 3, 4, 5, 6] 为例对代码进行剖析:1.找到中间节点3,将链表划分为两部分:以head为头节点的 [1,2,3]、以head2为头节点的[4,5,6]2.将head2指向的链表反转,得到[6,5,4]3.归并两
2016-03-19 21:30:04 360
原创 43. Multiply Strings | Java最短代码实现
原题链接:43. Multiply Strings【思路】本题借用模拟大数精确乘法考查字符串的位操作。本解答先将结果缓存到 int 数组中,应用 int 数组的好处就是每一个int的值可以大于10: public String multiply(String num1, String num2) { int len1 = num1.length(), len2 =
2016-03-19 19:22:41 826
原创 134. Gas Station-贪心算法
原题链接:134. Gas Station【思路1】从末站开始,startStation和endStation均指向最后一站,一旦发现剩余的油量小于0,那么startStation前移——回去“加油”,直到油量大于等于0,那么endStation开始后移——继续前进。如果最后的剩余油量大于等于0,那么表示可以环游一周,startStation即为解。否则,不可以,返回 -1。 p
2016-03-19 15:13:28 1065
原创 306. Additive Number | Java最短代码实现
原题链接:306. Additive Number【思路】 public boolean isAdditiveNumber(String num) { for (int i = 1; i <= num.length() / 2; i++) for (int j = 1; j + i < num.length(); j++)
2016-03-19 01:21:50 489
原创 leetcode 106. Construct Binary Tree from Inorder and Postorder Traversal-递归
原题链接:106. Construct Binary Tree from Inorder and Postorder Traversal【思路】本题考查根据中序遍历和后序遍历构造二叉树。其基本思路,就是找到后序遍历的最后一个数的值,然后在中序遍历中找到这个值。以这个值作为根,将中序遍历划分为左右子树,照此递归左右子树: public TreeNode buildTree(int[
2016-03-18 21:04:35 348
wineskin-2.5.4.app.zip
2016-02-11
org.eclipse.jface.text_3.9.2.v20141003-1326.jar
2016-02-10
HA-Instant Client-v11.2.0.3.0-x86.rar下载
2015-12-02
msbase.jar,mssqlserver.jar,msutil.jar sqljdbc4.jar
2015-11-06
免积分解决myeclipse2013空格等号等上屏问题org.eclipse.jface.text_3.8.2.v20121126-164145.jar
2015-11-06
Eclipse空格键等于号上屏补丁org.eclipse.jface.text_3.8.200.201306271036.jar
2015-11-06
解决eclipse空格键等号等上屏问题org.eclipse.jface.text_3.8.200.201306271036.jar
2015-11-06
解决MyEclipse2013空格键等于号上屏问题的 org.eclipse.jface.text_3.8.2.v20121126-164145.jar
2015-11-06
Cracking the Coding Interview 第6版 高清完整版PDF
2018-08-08
July著《编程之法:面试和算法心得》完整扫描版
2018-04-12
基于Movielens的推荐系统—评分预测
2018-01-07
【推荐】Effective Java(第2版)中文+英文+源码
2017-11-25
com.sun.jdmk.comm.HtmlAdaptorServer对应jar包下载
2017-09-15
junit-4.12.jar包完整版下载
2017-09-11
编译运行tomcat源码需要用到的jar包
2017-09-11
tomcat7源码下载
2017-09-11
【高清扫描版】精通Tomcat下载
2017-09-11
深入剖析Tomcat(中文版)+书本源码+tomcat源码
2017-09-11
【高清扫描版】精通Tomcat:Java Web应用开发、框架分析与组件配置、系统集成与案例实战
2017-09-11
org.eclipse.jface.text_3.10.0.v20150603-1752.jar - eclipse空格等号上屏补丁
2016-07-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人