java基础
文章平均质量分 67
_冬木
这个作者很懒,什么都没留下…
展开
-
String
java中char类型占2个字节,String内部采用char[]表示unicode字符集包含多个平面,通常第0平面就已经满足使用,第0平面可表示的字符从0x0000 0000到0xFFFF FFFF。在String表示的字符都在第0平面时,每个char对应一个字符,且String的私有成员value存储的是第0平面的unicode码点。public final class String ...原创 2020-03-29 13:17:47 · 131 阅读 · 0 评论 -
使用匿名内部类初始化集合类
List<String> list = new ArrayList<String>(){ { add("a"); } };这种写法,是使用匿名内部类,继承自ArrayList,同时菱形运算符里的String不能省略,否则Eclipse会提示错误'<>' cannot be used with anonym原创 2017-04-25 22:54:37 · 2745 阅读 · 0 评论 -
java初始化相关
package test;import static test.MyPrint.println;/** * Created by wangsong on 17-9-9. */public class TestExtends { public static void main(String[] args) { Derived d = new Derived();原创 2017-09-10 10:05:23 · 212 阅读 · 0 评论 -
关于函数作为参数传递给函数
javascript中,函数可以作为参数传递给另一个函数。这是因为js中的函数名实际上是一个变量,而变量是可以作为参数进行传递的,当然也可以作为返回值进行返回。<html><body><script>function add(num1, num2) { return num1 + num2;}function b(functionName, parameter1, paramete原创 2017-09-01 17:30:49 · 1945 阅读 · 0 评论 -
java泛型推断从java6到java8的变化
java6中:Map<Person, List<? extends Pet>> petPeople = new HashMap<Person, List<? extends Pet>>();不能够省略new后面类型参数部分。但是,使用泛型方法的类型参数推断可以简化一部分工作。public class New { public static <K, V> Map<K, V> map() {原创 2017-10-04 15:08:22 · 1225 阅读 · 0 评论 -
动态类型语言&动态语言
动态语言 动态类型语言首先,这是两个不同的概念动态语言 dynamic programming language程序运行时,允许改变程序结构(例如引进新函数、删除旧函数)或变量类型。 从这个观点来看,Perl、Python、Ruby是动态语言,C++、Java、C#不是动态语言动态类型语言 dynamically typed language在运行期检查变量类型的语言,也就是在编写代码的时候可以不原创 2017-11-18 18:56:34 · 5340 阅读 · 0 评论 -
反射
反射反射的定义反射是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性,这种动态获取的信息及动态调用对象的方法的功能称作java语言的反射机制。为什么使用反射反射被广泛应用在那些需要在运行时检测或修改程序行为得程序中,例如Spring AOP使用反射加载配置文件,降低耦合,例如工厂模式中读取配置文件、Spring容器依赖注入反射可以在原创 2017-11-18 19:22:45 · 223 阅读 · 0 评论 -
java API中常用方法
java.util.Objects类 since 1.7public static <T> T requireNonNull(T obj) //此方法设计用来在方法或构造方法中验证参数引用是否为空,为空,抛出NullPointerException,不为空,返回参数objpublic static boolean isNull(Object obj)//since 1.8//obj为原创 2017-04-25 11:46:03 · 2920 阅读 · 0 评论 -
T9-智能拼音
牛客网 HDU 1298 T9 字典树用于存储字典中各单词以及权值(可能性),每个节点只存储字符和权值,这是最简单的一种情况。而实际上还可以存储是否为单词结尾,有多少单词用作前缀等。 输入: hell 3 hello 4 idea 8 next 8 super 3 相同的前缀其权值相加,根据这个输入建立的字典树为: 对于按键盘上43556这几个数字,首先4对应ghi,hi都在字原创 2017-05-16 17:29:07 · 640 阅读 · 0 评论 -
程序算法零碎
(1)判断一个int整型是奇数还是偶数 ① 采用和1进行与操作 (a & 1) == 0 为0 是偶数,为1是奇数,注意一定要带括号,因为 == 的优先级高于 & ② 采用取余操作 a % 2 == 0 为0 是偶数, 为1是奇数,不用带括号,因为 % 的优先级高于 == 注意不要和1进行比较(a % 2 == 1)因为当a是负整数时结果为0或者-1,出现错误原创 2017-04-20 22:44:52 · 192 阅读 · 0 评论 -
java 回调机制
从字面上理解就是,我调用你的方法,你反过来又调用我的方法,就是你来我往。而你反过来又调用我的方法通常称之为回调函数,放在一个专门的接口里面,需要回调机制的类就需要实现这个接口,而且在我调用你的方法的时候,需要把我或者我的某个实例再传递给你,你再通过这个实例调用我的回调函数。interface CallBack { void callback();}class Me implements C原创 2017-07-07 13:39:56 · 67 阅读 · 0 评论 -
可以用作栈和队列的模型
整数可以用作简单的栈来使用,整数0,入栈加1,出栈减1。这种方式只能用作使用栈进行简单判断的地方,不适用于使用栈来存放数据。 比如判断括号是否匹配正确,(()()),这样的就是正确的,())( )),这样的就是不正确的,且只能判断一种括号的。 因为只是为了判断括号是否正确,所以用栈来做,但同时由于没有数据需要存放,使用真正的栈就会浪费空间。所以使用整数来充当一个栈。这个栈只要入栈、出栈和栈内元原创 2017-07-12 16:53:09 · 167 阅读 · 0 评论 -
解题常用工具
A sliding window is an abstract concept commonly used in array/string problems. A window is a range of elements in the array/string which usually defined by the start and end indices, i.e. [i, j) (left原创 2017-07-11 13:16:27 · 195 阅读 · 0 评论 -
关于方法中的参数是引用的情况
在刷leetcode中一道关于使用增序排列的数组构建一颗平衡二叉树的时候,犯了一个致命的错误,那就是对方法的参数这个局部变量理解不透彻导致的。java中只有按值传递,没有按引用传递。 举个例子就是,a是指向A类的某个实例对象的引用,f方法需要一个A类的实例作为参数,把a作为参数传递到f方法中 A a = new A(); f方法的定义:void f(A a) 注意这里f方法的参数是a,这个a原创 2017-05-06 11:38:56 · 332 阅读 · 0 评论 -
海量数据常用技巧之位图法
介绍 位图的基本概念是用一个位(bit)来标记某个数据的存放状态,一个bit只能表示两种状态,所以不适合用来表示多状态(缺点1)。如果要表示多状态,需要用多个bit,但此时位图的性能会大打折扣,复杂度却增加了。由于采用了位为单位来存放数据,所以节省了大量的空间。一般把这种方法称为位图法,即Bitmap。 BitSet 正因为位图运算在空间方面(指的是海量数据的存储)的优越性,很多语言都有直接对转载 2017-05-03 12:03:21 · 1660 阅读 · 0 评论 -
生成随机数的类Random和ThreadLocalRandom
java里有伪随机型和安全型两种随机数生成器,伪随机生成器根据特定公式将seed转换成新的伪随机数据的一部分,安全随机生成器在底层依赖到操作系统提供的随机事件来生成数据。安全随机生成器需要生成加密性强的随机数据的时候才用它生成速度慢如果需要生成大量的随机数据,可能会产生阻塞需要等待外部中断事件而伪随机生成器,只依赖于“seed”的初始值,如果给生成算法提供相同的seed,可以得到一样的伪随机转载 2017-06-21 10:04:18 · 9617 阅读 · 1 评论 -
Runtime & Properties 类
Properties类继承自HashTable,其key和value都是字符串。import java.util.Properties;public class Test_Systeminfo { public static void main(String[] args) { /*Properties p = System.getProperties(); p.转载 2017-06-21 10:31:30 · 254 阅读 · 0 评论