- 博客(40)
- 资源 (14)
- 收藏
- 关注
转载 数据结构全攻略--学好数据结构的必经之路
目录(?)[+] 很多人在学习时一猛子扎进细节里无法自拔,以至于顾此失彼,丢了西瓜捡了芝麻。这种学习方法特别浪费时间,效率也非常低下,以至于在学习的长河中惨遭淘汰。如果这种人继续不思进取,那么在激烈的社会竞争环境中也会惨遭淘汰。 在学习时我们不妨先了解下该门学科所要学习的框架知识,对知识点有初步的全局把控,这也是一种全局观的体现,然后在网上查找学习该
2017-02-27 22:12:29 255
转载 对于数据类型转换的理解
链接:https://www.nowcoder.com/test/question/done?tid=6726315&qid=44646#summary来源:牛客网1234567byte b1=1,b2=2,b3,b6,b8;final byte b4=4,b5=6,b7;
2017-02-26 16:37:52 875 1
转载 反射问题
链接:https://www.nowcoder.com/test/question/done?tid=6726315&qid=26130#summary来源:牛客网考虑下面这个简单的例子,让我们看看reflection是如何工作的。123456789101112
2017-02-26 16:26:23 374
转载 java向上转型和向下转型
博客来源 : http://www.cnblogs.com/fickleness/archive/2013/06/21/3149011.html 转型是在继承的基础上而言的,继承是面向对象语言中,代码复用的一种机制,通过继承,子类可以复用父类的功能,如果父类不能满足当前子类的需 求,则子类可以重写父类中的方法来加以扩展。向上转型:子类引用的对象转换为父类类型称为向
2017-02-26 15:59:24 511
转载 Java中的静态多分派和动态多分派
目录(?)[+]转载请注明出处:http://blog.csdn.net/ns_code/article/details/17965867方法解析 Class文件的编译过程中不包含传统编译中的连接步骤,一切方法调用在Class文件里面存储的都只是符号引用,而不是方法在实际运行时内存布局中的入口地址。这个特性给Java带来了更强大的动态扩展能力,使得可以在类
2017-02-26 15:25:06 1071 1
转载 判断对错。在java的多态调用中,new的是哪一个类就是调用的哪个类的方法。
链接:https://www.nowcoder.com/test/question/done?tid=6726315&qid=14992#summary来源:牛客网java多态有两种情况:重载和覆写在覆写中,运用的是动态单分配,是根据new的类型确定对象,从而确定调用的方法;在重载中,运用的是静态多分派,即根据静态类型确定对象,因此不是根据new的类型确定调用的方法
2017-02-26 15:14:14 3031
转载 为什么一个以”.java”为后缀的源文件只能有一个与文件名相同的类?
链接:https://www.nowcoder.com/test/question/done?tid=6726315&qid=55188来源:牛客网 当编写一个java源代码文件时,此文件通常被称为编译单元(有时也被称为转译单元)。每个编译单元都必须有一个后缀名.java,而在编译单元内则可以有一个public类,该类的名称必须与文件的名称相同(包括大小写,但不包括文件的
2017-02-26 15:04:36 4065
转载 Java中Collections.sort()排序详解
转载请标明出处:http://blog.csdn.net/xx326664162/article/details/52227690 文章出自:薛瑄的博客你也可以查看我的其他同类文章,也会让你有一定的收货第一种:ComparableComparable 是排序接口。若一个类实现了Comparable接口,就意味着“该类支持排序”。 即然实现Comparable接口的类
2017-02-25 17:25:54 707
原创 <? extends T>和<? super T> 的解释
List list, Comparator c List list:表示List集合里面可以存放T类型的或者T类型的子类Comparator c :表示Comparator 集合里面可以存放T类型或者T类型的父类型通过中即可泛型限定:? extends E:可以接收E类型或者E类型的子类,上限? super E:可以接收Eleixing或者E的父类型, 下限
2017-02-25 17:13:04 352
原创 JavaAPI中的<T>和<E>分别代表什么?
比如Iterable 和 Iterator这里的T和E分别是Type和Element的首字母。E一般用来表示集合类型中的元素的类型,例如List接口的定义,public interface List extends Collection 。
2017-02-25 16:52:54 8987
转载 java中Collections.sort排序详解
Comparator是个接口,可重写compare()及equals()这两个方法,用于比价功能;如果是null的话,就是使用元素的默认顺序,如a,b,c,d,e,f,g,就是a,b,c,d,e,f,g这样,当然数字也是这样的。compare(a,b)方法:根据第一个参数小于、等于或大于第二个参数分别返回负整数、零或正整数。equals(obj)方法:仅当指定的对象也是一个 Compara
2017-02-25 16:45:17 568
转载 Java 中 Comparable 和 Comparator 比较
本文,先介绍Comparable 和Comparator两个接口,以及它们的差异;接着,通过示例,对它们的使用方法进行说明。 Comparable 简介Comparable 是排序接口。若一个类实现了Comparable接口,就意味着“该类支持排序”。 即然实现Comparable接口的类支持排序,假设现在存在“实现Comparable接口的类的对象的List
2017-02-25 16:05:15 239
转载 java中简单工厂、工厂方法、抽象工厂、策略模式、策略与工厂的区别
简单工厂、工厂方法、抽象工厂、策略模式、策略与工厂的区别结合简单示例和UML图,讲解工厂模式简单原理。 一、引子话说十年前,有一个爆发户,他家有三辆汽车(Benz(奔驰)、Bmw(宝马)、Audi(奥迪)),还雇了司机为他开车。不过,爆发户坐车时总是这样:上Benz车后跟司机说“开奔驰车!”,坐上Bmw后他说“开宝马车!”,坐上 Audi后他说“开奥迪车!”。你
2017-02-24 16:54:21 1185
转载 java中重载与重写的区别
随笔 - 563 文章 - 3 评论 - 131java中重载与重写的区别 首先我们来讲讲:重载(Overloading) (1) 方法重载是让类以统一的方式处理不同类型数据的一种手段。多个同名函数同时存在,具有不同的参数个数/类型。重载Overloading是一个类中多态性的一种表现。 (2)
2017-02-23 22:08:37 204
转载 SQL Server附加数据库出现错误5123的正确解决方法
SQL Server附加数据库出现错误5123的正确解决方法 因为自己有一本基于SQL Server 2005的数据库教程,里边使用的示例数据库是AdventureWorks for SQL Server 2005,而我的机子上装的是SQL Server 2008,示例数据库是AdventureWorks for SQL Server 2008。起初我以为示例数据库A
2017-02-22 19:09:45 26739
转载 java.io.UnsupportedEncodingException: gbk
http://springwind.iteye.com/blog/952527ervlet failed with IOException>Java.io.UnsupportedEncodingException: gbk at sun.io.Converters.getConverterClass(Converters.java:210)
2017-02-13 13:05:19 6556
原创 杭电1715 ( 大菲波数 ) java
大菲波数Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 19278 Accepted Submission(s): 6450Problem DescriptionFibonacci数列,定义如下:f
2017-02-12 11:45:26 343
原创 杭电1563 Find your present! java
Find your present!Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 3934 Accepted Submission(s): 2621Problem DescriptionIn the
2017-02-12 11:24:25 256
转载 java中的异或
在java程序里面的异或用法: 相同输出0,不同输出1,例如: System.out.println(1^1); 输出0 System.out.println(1^2);输出3,因为最后2个低位都不一样,所有输出3 异域的概念是相同为0不同为1.如果两个数值异或后的值相同,异或前可能不同。 比如二进制:0010^0001=0011 而0000^0011=0011
2017-02-12 11:05:26 2295
转载 Java中如何封装自己的类,建立并使用自己的类库?
Java中如何使封装自己的类,建立并使用自己的类库? ——感谢您的阅读,转载请标明出处!随着自己的编程经历的积累会发现往往自己在一些项目中写的类在别的项目中也会有多次用到。你肯定会想:如何自己的写的一些常用的类积累起来,生成自己的类库?如果是这样的话,很庆幸,你遇到通道中人了,因为我也是这样做的。下面就介绍一下我是怎么做的吧:一、先来明白一下
2017-02-10 13:19:07 1312 1
转载 一次性搞清楚equals和hashCode
前言在程序设计中,有很多的“公约”,遵守约定去实现你的代码,会让你避开很多坑,这些公约是前人总结出来的设计规范。Object类是Java中的万类之祖,其中,equals和hashCode是2个非常重要的方法。这2个方法总是被人放在一起讨论。最近在看集合框架,为了打基础,就决定把一些细枝末节清理掉。一次性搞清楚!下面开始剖析。 public boo
2017-02-10 12:07:03 202
转载 理解String的compareTo()方法返回值
compareTo()的返回值是整型,它是先比较对应字符的大小(ASCII码顺序),如果第一个字符和参数的第一个字符不等,结束比较,返回他们之间的 差值,如果第一个字符和参数的第一个字符相等,则以第二个字符和参数的第二个字符做比较,以此类推,直至比较的字符或被比较的字符有一方 全比较完,这时就比较字符的长度. 例: String s1 = "abc"; String
2017-02-10 11:52:16 1391
转载 double类型的2.0-1.1为什么等于0.89999999999999999999
double类型占了64位。 第一位为符号位,0为正,1为负。最后52位为十进制转换为二进制后的值。中间11位为阶码,可表示-1024~1023,表示最后52位为2的多少次方。比如最后52位为二进制的1.0*2^1(即二进制10),那么十一位阶码的十进制值为1,为了方便表示,加上1023变成非负数。float类型占32位(1位符号位,8位阶码,23位二进制值)
2017-02-09 22:48:50 2107
原创 杭电1406 完数 java
import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); while (sc.hasNext()) { int n = sc.nextInt(
2017-02-09 22:15:02 306
原创 杭电1420 Prepared for New Acmer
注意java要用long也就是64位利用公式a*b%c=((a%c)*b)%c,这样每一步都进行这种处理,这就解决了a^b可能太大存不下的问题,但这个算法的时间复杂度依然没有得到优化想要了解算法请看(快速幂算法):http://blog.csdn.net/bruce_suxin/article/details/54957763import java.util.S
2017-02-09 21:56:52 298
转载 快速幂取模算法
参考文章来源:Reait Home(http://www.reait.com/blog.html) 转载请注明,谢谢合作。 在Miller Rabbin测试素数,就用到了快速幂取模的思想。这里总结下。求a^b%c(这就是著名的RSA公钥的加密方法),当a,b很大时,直接求解这个问题不太可能 算法1:利用公式a*b%c=((a%c)*b)%c,这样每一步
2017-02-09 21:32:07 678
原创 杭电1407 测试你是否和LTC水平一样高 java解题
注意: 不要把0算进去不然会报错 本题为暴力破解 package 测试你是否和LTC水平一样高;import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System
2017-02-09 18:47:59 302
原创 杭电1284 兑换钱币问题
解题报告: 大致题意:现在有面值为3、2、1的钱币 问:给你一个金额N ,问有多少组合方法 下面给出代码向大家讲解:import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner
2017-02-09 15:46:33 560
转载 素数筛法
素数筛法 素数是ACM中数论题目常常涉及到得问题。最基本的问题就是如何判断一个数是素数以及如何快速的打出题目涉及范围的素数表。当然数论中关于素数的问题会比较复杂,在这里仅就素数的不同筛法做出总结。 素数,就是只有1和自身两个约数的正整数。2是最小的素数。根据定义,我们就可以直接判断一个数字n是否是素数。优化后的复杂度是O(n*sqrt(n))。至于为什么,我就不做赘述了
2017-02-05 20:19:25 269 1
转载 静态方法和非静态方法的区别
使用static修饰的静态方法是属于整个类的类方法,它在内存中的代码段会随类的定义而被分配和装载;而非静态方法是属于具体对象的方法,当这个对 象创建时,在对象的内存中会拥有此方法的专用代码段。在引用静态方法时,可以使用对象名加前缀,也可以使用类名加前缀。eg. classA 实例化了一个对象objectA,classA中定义了一个静态方法:run( ). 则可使用 classA.run
2017-02-04 22:23:19 394
转载 【java基础】八大排序算法
概述排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。我们这里说说八大排序就是内部排序。 当n较大,则应采用时间复杂度为O(nlog2n)的排序方法:快速排序、堆排序或归并排序序。 快速排序:是目前基于比较的内部排序中被认为是最好的方法,当待排序的关键字
2017-02-02 15:37:12 342
转载 Java如何找出数组中前k个高频元素
比如,一个数组为:[1,2,3,5,2,3,5,7,7,7,5,7 ]前2个高频元素就是7和5。思路:最简单的办法就是采用两层for循环去遍历,时间复杂度为O(n2)。方法二:先用快速排序将数组排序,然后依次找出前k个高频元素,时间复杂度O(NLogN)。方法三:可以采用HashMap,这种方式时间复杂度为O(N),空间复杂度O(N)。下面采用第三种方式:
2017-02-02 14:21:12 807 1
转载 如何计算一个算法的时间复杂度和空间复杂度
相信学习编程的同学,或多或少都接触到算法的时间复杂度和空间复杂度了,那我来讲讲怎么计算。 常用的算法的时间复杂度和空间复杂度 一,求解算法的时间复杂度,其具体步骤是: ⑴ 找出算法中的基本语句; 算法中执行次数最多的那条语句就是基本语句,通常是最内层循环的循环体。 ⑵ 计算基本语句的执行次数的数量级; 只需计算基本语句执行次数的数量级,这
2017-02-02 14:19:19 5042 2
原创 DTD属性的定义
使用dtd定义属性 * 语法: 属性名称 属性类型 属性的约束 >* 属性类型: CDATA(字符串):表示属性的取值为普通的文本字符串 ENUMERATED(枚举):(DTD没有此关键字):表示枚举,只能从枚举列表中任选其一
2017-02-02 11:53:34 2214
原创 使用dtd定义元素
使用dtd定义元素 *语法: *简单元素:没有子元素的元素 ***(#PCDATA):约束name是字符串类型 ***EMPTY:元素为空(没有内容) ***ANY:任意 举个栗子:
2017-02-02 09:46:07 375
原创 dtd约束文件的引入方式
dtd的三种引入方式 (1)引入外部的dtd文件 (2)使用内部的dtd文件 ]> (3)使用外部的dtd文件(网络上的dtd文件)
2017-02-01 17:43:24 965
原创 xml的约束和dtd
xml的约束 * 为什么要约束? ** 比如现在定义一个person的xml文件,只想要这个文件里面保存 人的信息,比如name age 等,但是如果在xml文件中些了一个 标签,发现可以正常显示,因为符合语法规范,但是猫肯定 不是人的信息,xml的标签是自定义的,需要技术来规定xml中只
2017-02-01 14:38:20 290
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人