- 博客(17)
- 收藏
- 关注
原创 关于java的注解
1.0 @Target(ElementType.METHOD) @Retention(RetentionPolicy.RUNTIME) public @interface UseCase { public int id(); public String description() default "no description"; }
2017-10-16 21:21:55 252
原创 冒泡排序的实现方法(Java)
public static void bubbleSortWithDoubleFor(int[] array){ for(int i = 0 ; i<array.length-1;i++){ for(int j = 0 ; j <array.length-1-i;j++){ int temp=array[j];
2017-09-21 11:20:49 556
原创 spring源码分析(web)--通过注解获取bean源码分析
最近一段时间一直在研究spring的源码,今天我就讲自己最近一段时间学习到的spring源码写下来,目前刚好讲spring的依赖注入完全的流程走通。很多的细节,作者的意图我还是不是很清楚。spring的设计理论主要来自于Rod的《Expert one-on-one J2EE development without EJB》,好像只有英文版,有兴趣可以看一下。里面提到控制反转和面向切面是spri
2017-08-30 11:00:03 1199
原创 38. Count and Say
由于对String的很多用法我都一无所知,所以没有用java特有的方法。运行时间也是很慢,这个运行时间有45ms,而solution里最少的只有3ms。2017.5.3 public static String countAndSay(int n) { if(n==1) return "1"; String res="1";
2017-05-03 10:10:46 183
原创 35. Search Insert Position
采用暴力查找的方式,虽然tag上有人说是二分查找 if(nums.length==0){ return 0; }else { for(int i = 0 ; i<nums.length ; i++){ if(target>nums[i]){ continue;
2017-05-02 17:34:05 137
原创 28. Implement strStr()
由于前段时间才学习正则,第一时间就想到了正则:public int strStr(String haystack, String needle) { if(haystack==null||needle==null){ return -1; } Pattern p=Pattern.compile(needle); Matcher m=p.matcher(ha
2017-05-02 17:12:59 150
原创 27. Remove Element
感觉和26题是一样的,如果用我开始的26题的解法只需要稍微改动下就可以了。public int removeElement(int[] nums, int val) { if (nums.length == 0) { return 0; } if (nums.length == 1) { if(nums[0]!=val){ r
2017-05-02 15:58:24 129
原创 26. Remove Duplicates from Sorted Array
我是将数组的第一个值取出来作为了参照,以后有不同值从原数组1的位置开始替换,不知道这种方法是不是很奇葩。运行时间15mspublic static int removeDuplicates(int[] nums) { if (nums.length == 0) { return 0; } if (nums.length == 1) { return 1; }
2017-05-02 15:33:40 130
原创 20. Valid Parentheses
public boolean isValid(String s) { char[] c=s.toCharArray(); Stack st = new Stack(); for(int i = 0 ; i < c.length ; i++){ char tc=c[i]; if(tc=='('){ st.push(')'); }
2017-04-27 09:32:50 132
原创 14. Longest Common Prefix
简单的直接上代码: public int findMin(String[] str){ if(str.length==0){ return -1; } int a=str[0].length(),b,c=0; for(int i = 0 ; i <str.length;i++){ b=str[i].length(); if(b==0){ return
2017-04-26 19:09:25 142
原创 Java 正则表达式
1.0 正则表达式的使用:String str="csdw";Pattern p=Pattern.compile("\\W");Matcher m=p.matcher(str);while(m.find()){System.out.println(m.group());}形如上面的代码就是一个简单的正则,他需要从str中找到\w即找到非字符的数(详细见正则表达式的构造摘要),这里的运
2017-04-20 11:34:02 219
原创 接口与工厂
package p187;import util.Util;interface Service{ void methon1(); void methon2();}interface ServiceFactory{ Service[] getService();}class Implement1 implements Service{ @Override public v
2017-04-15 15:23:41 283
原创 构造器内部的多态方法的行为
下图为TKJ p163的程序,看书的时候一直不怎么理解他的运行结果。自己一步步debugger得到结果。在程序开始运行的时候,由于RoundGlyph是Glyph的子类,他会在构造器中首先调用父类的构造器,也就是进入到Glyph的构造器方法中,在Glyph中也有draw方法,但是可以通过debug看出这个时候的调用draw()对象(即this)时RoundGlyph。yushi
2017-04-13 20:44:31 153
原创 Java 多态
个人以为产生多态的情况一般要有的条件有1.0 要有继承2.0 子类需重写父类的方法。在多态的练习一TKJ p150页 //父类 public class Cycle { public void ride(Cycle c) { System.out.println("this is "+c.getName()+"'s ride");
2017-04-12 20:51:10 212
原创 向上转型
通过阅读TKJ和csdn上其他大神的文章,我对向上转型的理解如下。 在子类继承父类之后,子类可以向上转换成父类。比如TKJ中的管弦乐器继承乐器,乐器拥有的属性管弦乐器一定会有。转换成我们人类的语言就是,管弦乐器一定是乐器。但是在使用向上转型的时候,子类拥有的自己独有的方法,即父类没有的方法的时候,是会在转型的中被干掉的。 package xszx;//向上转型的父类Apublic class
2017-04-11 14:01:10 213
原创 继承和组合
1.0 继承继承子类调用父类的方法,一般情况是不需要在子类中定义需要的类,而是直接调用父类的方法。在继承的时候添加override注解,防止在不留心重载而非覆写了需要的方法。子类在调用父类的方法的时候一般是重写而不是重载。2.0 组合组合就是说在类中定义需要的类。(2017.4.9)在网上看到有人比喻说继承就是老爸在家里帮我干了些活。而组合就是我在家里请了个老头帮我
2017-04-09 22:14:26 228
原创 我读java编程思想---java访问控制符
1.0 public 所有的皆可用private 只有自己可以用protected包访问权限和只有子类可用这是第一页博客,希望自己天天都能写。
2017-04-06 22:25:41 158
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人