Java-basic-2-】的更多相关文章

JDK Tools and Utilities Basic Tools These tools are the foundation of the JDK. They are the tools you use to create and build applications. Tool Name Brief Description appletviewer Run and debug applets without a web browser. extcheck Utility to dete…
使用注解最主要的部分在于对注解的处理,那么就会涉及到注解处理器.      从原理上讲,注解处理器就是通过反射机制获取被检查方法上的注解信息,然后根据注解元素的值进行特定的处理.   注解处理器类库(java.lang.reflect.AnnotatedElement): Java使用Annotation接口来代表程序元素前面的注解,该接口是所有Annotation类型的父接口.除此之外,Java在java.lang.reflect 包下新增了AnnotatedElement接口,该接口代表程序…
什么是类型擦除? 类型擦除指的是通过类型参数合并,将泛型类型实例关联到同一份字节码上.编译器只为泛型类型生成一份字节码,并将其实例关联到这份字节码上.类型擦除的关键在于从泛型类型中清除类型参数的相关信息,并且再必要的时候添加类型检查和类型转换的方法.类型擦除可以简单的理解为将泛型java代码转换为普通java代码,只不过编译器更直接点,将泛型java代码直接转换成普通java字节码.类型擦除的主要过程如下:     1.将所有的泛型参数用其最左边界(最顶级的父类型)类型替换.     2.移除所…
*** 封装 *** 面向对象特征 - 封装 封装的基本原则 将你的实例变量标记为私有的,比如提供公有的get与set方法来控制存取动作 有些get和set 可能什么事情也没做, 只是把值设给变量而已. 这样不会增加执行的负担吗?这样的好处是当你以后改变想法却不需要更改其他的部分代码 封装的实现:    1. 修改实例变量的可见属性来限制对变量的访问    2. 为每个属性创建一对setter和getter方法用于对变量的访问    3. 在setter和getter方法中加入对属性的存取限制…
//java 声明常量 //final 数据类型 常量名=值; //as: final float PI=3.14f;/ PI=3.14002F //默认浮点为 double //break:跳出多重循环,可用 break label(标签名) //as: public class Hi { public static void main(String[] args) { int i = 5; label01: for(int j = 0; j < i; j++) { System.out.pr…
基础教学:lecture, video, lecturer: Matt Stoker Java教学:http://www.runoob.com/java/java-intro.html[菜鸟教程,非常适合复习] Ref: JAVA 学到什么水平就可以转战 Android 了 Ref:设计模式菜鸟教程 Ref:Java教程 Ref: Java code 实例 复习感受:Java已经不再是过去熟悉的Java! 第一课: 观后感,应该总结一套控件代码:控件代码收集. 看上去不错de样子.后记,貌似没有…
1.static 在程序中任何变量或者代码都是在编译时由系统自动分配内存来存储的,而所谓静态就是指在编译后所分配的内存会一直存在,直到程序退出内存才会释放这个空间,也就是只要程序在运行,那么这块内存就会一直存在.这样做有什么意义呢? 在Java程序里面,所有的东西都是对象,而对象的抽象就是类,对于一个类而言,如果要使用他的成员,那么普通情况下必须先实例化对象后,通过对象的引用才能够访问这些成员,但是有种情况例外,就是该成员是用static声明的(在这里所讲排除了类的访问控制). static 是…
异常处理经验小结之一:不要直接抛出InvocationTargetException  (转http://olylakers.iteye.com/blog/1137371) 在最近一段时间的工作中,积累了几点异常处理的经验,怕时间久了就淡忘了,因此写下本文记录下来,一遍日后总结和查看. 1.在通过反射执行方法的时,如Method.invoke(),如果被反射执行的方法体抛出了Exception,这个异常会被包装成InvocationTargetException重新抛出,下面是jdk里面的源码:…
[Basic] The most basic things about java // */ // ]]>   [Basic] The most basic things about java Table of Contents 1 数据类型 1.1 基本类型, 针对32位系统 1.1.1 C 1.1.2 Java 1.2 非基本类型 1.2.1 C 1.2.2 Java 2 操作符 2.1 算术操作符 2.2 关系操作符 2.3 逻辑操作符 2.3.1 C 2.3.2 Java 2.4 位操作…
http://blog.csdn.net/silentbalanceyh/article/details/4608360 (最终还是决定重新写一份Java基础相关的内容,原来因为在写这一个章节的时候没有考虑到会坚持往后边写,这次应该是更新该内容.而且很讨厌写基础的东西,内容比较琐碎,而且整理起来总会很多,有可能会打散成两个章节,但是我不保证,有可能一个章节就写完了,所以有时候希望基础的很多内容还是读者自己去看看,我基本保证把基础的内容全部都写出来,见谅.这一个章节写了过后我会把前边那个关于基础类…
http://blog.csdn.net/silentbalanceyh/article/details/4608272 (最终还是决定重新写一份Java基础相关的内容,原来因为在写这一个章节的时候没有考虑到会坚持往后边写,这次应该是更新该内容.而且很讨厌写基础的东西,内容比较琐碎,而且整理起来总会很多,有可能会打散成两个章节,但是我不保证,有可能一个章节就写完了,所以有时候希望基础的很多内容还是读者自己去看看,我基本保证把基础的内容全部都写出来,见谅.这一个章节写了过后我会把前边那个关于基础类…
Java之美[从菜鸟到高手演练]之JDK动态代理的实现及原理 JDK动态代理的实现及原理 作者:二青 邮箱:xtfggef@gmail.com     微博:http://weibo.com/xtfggef 动态代理,听上去很高大上的技术,在Java里应用广泛,尤其是在hibernate和spring这两种框架里,在AOP,权限控制,事务管理等方面都有动态代理的实现.JDK本身有实现动态代理技术,但是略有限制,即被代理的类必须实现某个接口,否则无法使用JDK自带的动态代理,因此,如果不满足条件,…
Java是一种面向对象设计的高级语言,支持继承.封装和多态三大基本特征,首先我们从面向对象两大概念:类和对象(也称为实例)谈起.来看看最基本的类定义语法: /*命名规则: *类名(首字母大写,多个单词组合时每个单词首字母大写,单词之间不加任何连接符号) *字段名.方法名(首字母小写,多个单词组合时第一个单词首字母小写,之后每个单词首字母大写,单词之间不加任何连接符号) */ [public][final] class 类名 { [public|protected|private 类名() {}]…
package com.java.basic.pattern; import java.util.regex.Matcher; import java.util.regex.Pattern; /** * 获取客户端操作系统信息 * 从http的header中获取到user-agent,然后利用正则表达式判断是哪一种操作系统 * * 暂只匹配Win 7.WinXP.Win2003.Win2000.MAC.WinNT.Linux.Mac68k.Win9x * * @param userAgent r…
// File Name : URLDemo.java import java.net.*; import java.io.*; public class URLDemo { public static void main(String [] args) { try { URL url = new URL("http://www.amrood.com/index.htm?language=en#j2se"); System.out.println("URL is "…
调用Set.addAll()方法时抛UnsupportedOperationException异常 上面的Set是Map中keySet的返回结果. 程序中这样两句代码运行时,抛UnsupportedOperationException异常. 最初感觉很奇怪,Map.keySet()方法返回一个Set呀,Set明明是支持add().addAll()方法的,怎么会抛“不支持操作”异常呢. 结果发现,问题不是出在Set上,而是出在Map的keySet()方法上. 下面是摘自API帮助文档的说明 Map…
1.What is exception in Java? Java使用异常描述程序中可能出现的不正常情况.这个不正常可以是java认为的不正常,也可以是你主观上的出乎意料(自定义异常).总而言之,异常用于表示程序中的不正常现象. 2.Why use exception in Java? ① 异常分离程序中正常逻辑代码和非正常情况处理问题的代码.提升代码的可读性 ② 引入异常处理机制,大大提升系统的健壮性. 3.Use Exception when to use? ① 如果方法执行过程中可能会遇到…
在总结 Java Basic IO 时,发现 java.io 包的相关类真心不少--.看到一堆"排山倒海"般的类,我想,唯有英雄联盟中小炮的台词才能表现此刻我的心情: 跌倒了没?崩溃了没? 学 Java 的,学过装饰者模式一般都知道一个典型的应用:Java 的基本 IO 使用了装饰者模式(更多的 JDK 中使用的设计模式,请点我).也因此知道了为什么 io 包里为什么会有这么多的类--,引用<HeadFirst 设计模式>的话: Java I/O 也引出装饰者模式的一个&q…
Java Algorithm Problems 程序员的一天 从开始这个Github已经有将近两年时间, 很高兴这个repo可以帮到有需要的人. 我一直认为, 知识本身是无价的, 因此每逢闲暇, 我就会来维护这个repo, 给刷题的朋友们一些我的想法和见解. 下面来简单介绍一下这个repo: README.md: 所有所做过的题目 ReviewPage.md: 所有题目的总结和归纳(不断完善中) KnowledgeHash2.md: 对所做过的知识点的一些笔记 SystemDesign.md:…
Java 8 CompletableFuture思考 最近一直在用响应式编程写Java代码,用的框架大概上有WebFlux(Spring).R2dbc.Akka...一些响应式的框架. 全都是Java写的,我于是就在想: 全都是Java的代码怎么搞成了响应式呢? 是不是语言本身就支持呢? 于是找到了Java 8 的 concurrency.这个是啥呢? 写个代码看一下: @Test void test7() throws ExecutionException, InterruptedExcept…
本文已经收录进我的 79K Star 的 Java 开源项目 JavaGuide:https://github.com/Snailclimb/JavaGuide (「Java学习+面试指南」一份涵盖大部分Java程序员所需要掌握的核心知识.) 相关阅读:完结撒花!Github接近80K点赞的Java面试指南来啦! 大家好,我是 Guide 哥,一个三观比主角还正的技术人. 两个星期前,我和我的好朋友决定做一系列的 Java 知识点常见重要问题的小册.小册的标准就一个,那就是:取精华,取重点.每一…
算法训练 比较字符串 时间限制:1.0s 内存限制:512.0MB 编程实现两个字符串s1和s2的字典序比较.(保证每一个字符串不是另一个的前缀,且长度在100以内).若s1和s2相等,输出0:若它们不相等,则指出其第一个不同字符的ASCII码的差值:如果s1>s2,则差值为正:如果s1<s2,则差值为负. 样例输入 java basic 样例输出 8 import java.util.Scanner; public class 比较字符串 { public static void main(…
What - 什么是注解?        Annontation是Java5开始引入的新特征,中文名称叫注解.它提供了一种安全的类似注释的机制,用来将任何的信息或元数据(metadata)与程序元素(类.方法.成员变量等)进行关联.为程序的元素(类.方法.成员变量)加上更直观更明了的说明,这些说明信息是与程序的业务逻辑无关,并且供指定的工具或框架使用.Annontation像一种修饰符一样,应用于包.类型.构造方法.方法.成员变量.参数及本地变量的声明语句中. Java注解是附加在代码中的一些元…
类和类之间存在多种关系,而这种关系在我们的代码中司空见惯,有时多种类关系很难区分 (由于水平有限,没有画出类的关系图,关系图可以参考参考链接) 继承关系 继承是指一个子类(子接口)继承父类(父接口)然后拓展子类的功能 实现关系 实现是指一个类实现接口(或多个接口)在java中很常见 依赖关系 ,依赖就是一个类A使用到了另一个类B,而这种使用关系是具有偶然性的.临时性的.非常弱的,但是类B的变化会影响到类A. 表现在代码层面,为类B作为参数被类A在某个method方法中使用.(函数的引用传递) 关…
在正式进入测试之前,进行一定的静态代码分析及code review对代码质量及系统提高是有帮助的,以上为数据证明 Pmd 它是一个基于静态规则集的Java源码分析器,它可以识别出潜在的如下问题:– 可能的bug--空的try/catch/finally/switch块.– 无用代码(Dead code):无用的本地变量,方法参数和私有方法.– 空的if/while语句.– 过度复杂的表达式--不必要的if语句,本来可以用while循环但是却用了for循环.– 可优化的代码:浪费性能的String…
The open source, cross platform, free C++ IDE. Code::Blocks is a free C++ IDE built to meet the most demanding needs of its users. It is designed to be very extensible and fully configurable. Finally, an IDE with all the features you need, having a c…
Proxy.newProxyInstance(classloader,Class,invocationHandler) 调用getProxyClass0(loader, interfaces)生成代理类,拥有相同的接口,即拥有原来相同的方法,由相同的类加载器加载,然后拿到构造方法,cons.newInstance(new Object[]{h})传入invocationHandler,代理类的父类是Proxy,具体方法的实现都是h.invoke(),还把object的方法代理了,如tostrin…
列表定义 >>> a=['] >>> type(a) <type 'list'> >>> bool(a) #列表有值,则为true True >>> print a ['] >>> 多维列表 >>> matrix = [[1,2,3],[4,5,6],[7,8,9]] >>> matrix = [[1,2,3],[4,5,6],[7,8,9]] >>>…
标签云是现在大数据里面最喜欢使用的一种展现方式,其中在python3下也能实现标签云的效果,贴图如下: -------------------进入正文--------------------- 首先要安装以下几个库: #!/usr/bin/python3.4 # -*- coding: utf-8 -*- # http://www.lfd.uci.edu/~gohlke/pythonlibs/#cx_freeze # 万能仓库下载pygame # pip3下载simplejson 还有最重要的库…
转载:http://blog.chinaunix.net/u1/38994/showart_1099528.html 一.概述: 在这篇文章中将会简单介绍如何编制一些简单的JNI 方法.我们都知道JNI方法可以帮助我们调用用C/c++编写的函数,这样如果一项工作已经用C/c++语言实现的话,我们就可以不用花很大的力气再用JAVA语言对这一工作进行再实现,只要编制相应的JNI函数,就可以轻松实现JAVA语言对C/c++函数的调用,从而大大减轻程序开发人员的工作量. 在这个项目中,我们编制了很多小实…