Java
arikafly
遇见未来的自己
展开
-
龙曲线
龙曲线(Dragon Curve)是一个分形图案模式,随着迭代次数的增加,图案呈现出一条西方故事中“龙”的形象,因此被称为龙曲线。请写一个程序来输出生成龙曲线的指令。程序输出0-6阶的曲线指令即可。指令是字符集F,L和R的组合。这里的F是指“向前移动一个单元并画直线”,L意思是左转,R指右转。你可以想象为把一张纸条沿对角线折叠N次,画上直线印痕后展开得到的图形。实际原创 2013-05-16 12:30:28 · 2286 阅读 · 0 评论 -
【Java】"|"与"||"的区别
用法 condition 1 | condition 2、condition 1 || condition 2 “|”是按位或:先判断条件1,不管条件1是否可以决定结果(这里决定结果为true),都会执行条件2 “||”是逻辑或:先判断条件1,如果条件1可以决定结果(这里决定结果为true),那么就不会执行条件2原创 2016-05-17 20:33:14 · 297 阅读 · 0 评论 -
【Java】Java内存参数配置
JVM内存配置参数-Xmx10240m -Xms10240m -Xmn5120m -XXSurvivorRatio=3Xmx:表示虚拟机的最大可用内存,Xms10240m 初始堆大小即最小内存值 Xmn表示年轻代大小。XXSurvivorRatio=3表示两个Survivor区与一个Eden区为2:3(即Eden:FromSurvivor:ToSurvivor=3:1:1)。Surivior原创 2016-05-17 06:56:26 · 556 阅读 · 0 评论 -
【Java】Java虚拟机------内存划分
JVM 内存区域划分Heap(堆) VM Stack(虚拟机栈,也有翻译成JAVA 方法栈的)Method Area(Non-Heap)(方法区) ,Native Method Stack ( 本地方法栈 )其中Method Area 和 Heap 是线程共享的 ,VM Stack,Native Method Stack 和Program Counter Register 是非线原创 2016-05-16 22:42:10 · 348 阅读 · 0 评论 -
【Java】容器集合类
容器集合框架图实现类List,Set,Map在java.util包下都是接口 List有两个实现类:ArrayList和LinkedList Set有两个实现类:HashSet和LinkedHashSet原创 2016-05-16 21:51:26 · 351 阅读 · 0 评论 -
【设计模式】桥接模式
概述在软件系统中,某些类型由于自身的逻辑,它具有两个或多个维度的变化,那么如何应对这种“多维度的变化”?如何利用面向对象的技术来使得该类型能够轻松的沿着多个方向进行变化,而又不引入额外的复杂度?这就要使用Bridge模式。意图 将抽象部分与实现部分分离,使它们都可以独立的变化。——《设计模式》GOF 实战Java数据库连接库JDBC原创 2016-05-16 21:37:27 · 263 阅读 · 0 评论 -
【Java】垃圾回收机制2––––finalize
垃圾回收过程中的对象销毁–Finalization 就在移除一个对象并回收它的内存空间之前,Java垃圾回收器将会调用各个实例的finalize()方法,这样实例对象就有机会可以释放掉它占用的资源。尽管finalize()方法是保证在回收内存空间之前执行的,但是对具体的执行时间和执行顺序是没有任何保证的。 程序不应该预先假设实例执行finalize()的方法,也不应该使用finalize(原创 2016-05-16 21:13:11 · 270 阅读 · 0 评论 -
【Java】接口与抽象类
1. 一个子类只能继承一个抽象类,但能实现多个接口2. 抽象类可以有构造方法,接口没有构造方法3. 抽象类可以有普通成员变量,接口没有普通成员变量4. 抽象类和接口都可有静态成员变量,抽象类中静态成员变量访问类型任意,接口只能public static final(默认)5. 抽象类可以没有抽象方法,抽象类可以有普通方法,接口中都是抽象方法6. 抽象类可以有静态方法,接口不能有静态方法7原创 2016-05-16 21:00:12 · 294 阅读 · 0 评论 -
【Java】垃圾回收机制1
java的垃圾回收机制垃圾回收主要针对的是堆区的回收,因为栈区的内存是随着线程而释放的。堆区分为三个区:年轻代(Young Generation)年老代(Old Generation)永久代(Permanent Generation,也就是方法区)。 年轻代:对象被创建时(new)的对象通常被放在Young(除了一些占据内存比较大的对象),经过一定的Minor GC(针对年轻代的内存回收)还原创 2016-05-16 09:46:29 · 1067 阅读 · 0 评论 -
【Java】内存区域划分
java中内存区域分为4类栈内存空间,存放引用的堆内存空间的地址 堆内存空间,存放new出来的对象 全局数据区,保存static类型属性和全局变量 全局代码区,保存所有方法的定义原创 2016-05-16 09:37:32 · 249 阅读 · 0 评论 -
【Java】类执行过程
类执行过程父类静态代码块:如果有多个静态代码块,按顺序执行,仅执行一遍子类静态代码块:同上父类非静态代码块: 有多个非静态代码块,按顺序执行,且每次new,每次执行父类构造函数子 类非静态代码块: 有多个非静态代码块,按顺序执行,且每次new,每次执行子 类构造函数Exampleclass X{ Y y=new Y(); public X(){ Syst原创 2016-05-16 10:02:29 · 436 阅读 · 0 评论 -
【Java】多线程实现方式
多线程一共有三种实现方式方式1:继承Thread类,并重写run()方法方式2:实现Runnable接口,实现run()方法方式3:实现Callable接口,线程结束后可以有返回值,但是该方式是依赖于线程池的。原创 2016-05-16 20:25:19 · 230 阅读 · 0 评论 -
【Java】Java NIO
说明Java NIO(New IO)是从Java 1.4版本开始引入的一个新的IO API,可以替代标准的Java IO API。特性基于通道(Channel)和缓冲区(Buffer)进行操作,数据总是从通道读取到缓冲区中,或者从缓冲区写入到通道中。参考资料http://tutorials.jenkov.com/java-nio/channels.html原创 2016-05-16 11:42:24 · 333 阅读 · 0 评论 -
【Java】final, finally, finalize的区别
final, finally, finalize的区别final 修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为 abstract的,又被声明为final的。将变量或方法声明为final,可以保证它们在使用中不被改变。被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。finally 异原创 2016-05-16 10:25:03 · 232 阅读 · 0 评论 -
【Java】反射机制1
反射的过程 普通的java对象是通过new关键字把对应类的字节码文件加载到内存,然后创建该对象的。 反射是通过一个名为Class的特殊类,用Class.forName(“className”);得到类的字节码对象,然后用newInstance()方法在虚拟机内部构造这个对象(针对无参构造函数)。 也就是说反射机制让我们可以先拿到java类对应的字节码对象,然后动态的进行任何可能的原创 2016-05-27 06:38:44 · 305 阅读 · 0 评论 -
幻方问题
传说,大禹治水时,从洛河里爬出一只大乌龟,背上有一些奇妙的标记。人们仔细辨认后,发现原来是一些极有规律的数字:它的纵、横、斜每一列每一行三个数字的和都是15!中国古书上称这个纵横图为‘洛书’,后来研究者多称它为“幻方(magic square)”。它变幻莫测,趣味无穷。n阶的幻方表示一个n阶矩阵,它共有N2个元素,每个元素分别取值1~N2不重复,它的各行,各列,以及对角线之原创 2013-05-16 12:35:59 · 1273 阅读 · 0 评论 -
约瑟夫问题
约瑟夫问题是个著名的题目,它来自于一个历史故事:古罗马的史学家约瑟夫(Josephus),他参加并记录了公元66—70年犹太人反抗罗马的起义。约瑟夫和犹太叛军战士们,设法守住了裘达伯特城达47天之久。在城市沦陷之后,他和40名犹太叛军的将士们在附近的一个洞穴中避难。在那里,这些叛乱者表决说“要投降毋宁死”,决定在罗马人俘虏他们之前自杀。方法是他们站成一个圈,从一开始,依次杀掉编号是三的倍数原创 2013-05-16 12:34:00 · 536 阅读 · 0 评论 -
【Java】 面向对象编程
三个要素, 五个基本原则三个要素 三个基本元素:封装,继承,多态。五个基本原则 五个基本原则: 单一职责原则 开放封闭原则 里氏替换原则 接口隔离原则原创 2016-06-01 06:26:37 · 388 阅读 · 0 评论