JavaSE笔记
java_zhangwei
一名java初学者~
展开
-
递归算法心得
其实原理,老师也都讲了,大家也都懂。我这里说一些个人理解的技巧。其实递归主要是找到数字之间的规律,因此在写递归体时,应该找出第n项与第(n-1)和(n-2)的关系,就可以列出递归体来。下面给大家个例子。(1)计算n的阶乘代码如下:public class TestRecursion {public static long test01(int n){if(n==1原创 2017-06-30 22:33:23 · 1199 阅读 · 0 评论 -
Java中打印输出到文件
package tk.javazhangwei.others;import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.File;import java.io.FileDescriptor;import java.io.FileInputStream;import jav原创 2017-08-01 16:53:12 · 15848 阅读 · 0 评论 -
Java编写多人聊天室
1.客户端package tk.javazhangwei.net.tcp.chat.Demo03;import java.io.BufferedReader;import java.io.DataInputStream;import java.io.DataOutputStream;import java.io.IOException;import java.io.InputStr原创 2017-08-08 15:09:10 · 1336 阅读 · 3 评论 -
Java中泛型嵌套举例
package tk.zhangwei.Generic;public class Student<T> { private T name; public T getName() { return name; } public void setName(T name) { this.name = name; }}package t原创 2017-07-24 16:13:47 · 1427 阅读 · 0 评论 -
Java中迭代器的使用(Iterator)
package collection02;import java.util.ArrayList;import java.util.HashMap;import java.util.HashSet;import java.util.Iterator;import java.util.List;import java.util.Set;public class TestIterator {原创 2017-07-22 19:08:09 · 654 阅读 · 0 评论 -
用Java统计单词出现的次数
普通方法package collection03;import java.util.HashMap;import java.util.Iterator;import java.util.Map;import java.util.Set;/*** * 分拣存储 1:N * 统计单词出现的次数 * @author zw * */public class MapDemo02 {原创 2017-07-24 20:52:34 · 2924 阅读 · 3 评论 -
Java中面向对象分拣存储
package exercise;import java.util.ArrayList;public class Student { private String name;//学生姓名 private String no;//班级编号 private double score;//学生成绩 public Student(){ } public Stude原创 2017-07-25 14:08:35 · 554 阅读 · 0 评论 -
Java中分割文件与合并文件
1.要切割和合并文件:主要考虑的就是文件的源地址,目标地址,暂存文件地址和文件名称 2.切割文件:判断给的暂存地址是否存在,不存在,则创建;从源地址中读出文件,按照给定的大小进行文件的切割操作放入暂存地址中 3.合并文件:判断给定的目标地址是否存在,不存在,则创建;定义List集合将暂存地址中的文件全部读取出来,放到list集合中然后使用Enumeration列举出所有文件,合并原创 2017-08-02 18:02:55 · 559 阅读 · 0 评论 -
Java中冒泡排序法
先附上代码。后面解释。package tk.javazhangwei.testArray;/*** * 冒泡排序法 * @author zw * */public class maopaopaixu { public static void main(String[] args){ int[] a ={9,3,4,5,2}; FangFa f =原创 2017-07-08 22:54:31 · 477 阅读 · 0 评论 -
Java中自定义排序规则
从优先价格,其次点击量,最后商品名称排序 实现java.lang.Comparablepackage GoodsSort;public class Goods implements java.lang.Comparable<Goods> { private int price;//商品价格 private String name;//商品名称 int mouse;//商品点击量原创 2017-07-25 19:00:18 · 5373 阅读 · 0 评论 -
Java中Properties的简单使用
package Others;import java.util.Properties;/*** * Properties 资源配置文件的读写 * 1.key与value 只能为字符串 * 2.存储于读取 * @author zw * */public class Demo01 { public static void main(String[] args){ Pro原创 2017-07-26 18:08:24 · 360 阅读 · 0 评论 -
Java中Map的其他类型(WeakHashMap-IdentityHashMap-EnumMap)
一丶引用分类(面试)强引用:StongReference:引用指向对象,gc(Garbage collection)运行时不回收软引用:SoftReference gc运行时可能回收(jvm内存不够)弱引用:WealReference gc运行时立即回收虚引用:PhantomReference 类似于无引用,主要跟踪对象被目收的状态,不能单独使用,必须与引用队列(Reference原创 2017-07-27 12:48:27 · 360 阅读 · 0 评论 -
Java中线程安全(synchronized)
package tk.javazhangwei.thread.syn;/*** * 线程安全问题 * * @author zw * */public class SynDemo01 { public static void main(String[] args) { Web12306 web = new Web12306(); Thread th = new Threa原创 2017-08-04 19:01:06 · 291 阅读 · 0 评论 -
Java生产者消费者模式举例
出现原因:死锁:过多的同步容易造成死锁思想:1.生产者生产。消费者等待,生产完成后通知消费者2.消费者消费,生产者等待,消费完成后通知生产者package tk.javazhangwei.thread.pro;/*** * 一个场景共同的资源 * 生产者消费者模式 信号灯法 * wait();等待,释放锁 sleep 不释放锁 * notify()/noti原创 2017-08-05 18:14:43 · 345 阅读 · 0 评论 -
Mysql基础(1)
jdbc驱动下载地址:http://mvnrepository.com/artifact/mysql/mysql-connector-java这段代码是测试事务的基本用法以及回滚操作,其主要是要把设置为手动提交事务(setAutoCommit(false)),以及遇到异常时,通过回滚操作(rollback()),来恢复修改之前的数据!packag原创 2017-09-11 15:01:50 · 311 阅读 · 0 评论 -
正则表达式基础
原创 2017-09-06 10:39:17 · 188 阅读 · 0 评论 -
Java中自定义类加载器(双亲委派机制)
同一个类,被不同的加载器加载,jvm会认为也是不相同的类.package tk.javazhangwei.test;import java.io.ByteArrayOutputStream;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;im原创 2017-08-15 18:08:49 · 401 阅读 · 0 评论 -
Java中反射及动态编译
1.先写个Users类,然后通过反射,操作这个类package tk.javazhangwei.testReflection;public class Users { private int id; private int age; private String name; public int getId() { return id; } public void setI原创 2017-08-12 17:54:58 · 972 阅读 · 0 评论 -
Java中容器数据简单存储
两种不同存储方法package collection02;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import javax.swing.text.html.HTMLDocument.Iterator;public class Test02 {原创 2017-07-22 19:18:30 · 1304 阅读 · 0 评论 -
Java中自写HashSet
结合map看http://blog.csdn.net/jav_zhangwei/article/details/75647594*package tk.zhangwei.collection;/*** * 自定义HashSet * @author zw * */import java.util.HashMap;public class SxtHashSet { HashMap ma原创 2017-07-22 12:49:11 · 228 阅读 · 0 评论 -
Java编写飞行游戏
一丶窗口,常量,Image构造器package tk.javazhangwei.util;import java.awt.Frame;import java.awt.Graphics;import java.awt.Image;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;public class原创 2017-07-18 18:23:44 · 1455 阅读 · 9 评论 -
Java中时间和字符串转化
package tk.javazhangwei;import java.text.DateFormat;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date;/*** * * @author zw * */public class TestDtaeFormat原创 2017-07-11 13:49:16 · 329 阅读 · 0 评论 -
Java做可视化日历
1. 代码package tk.javazhangwei;import java.text.DateFormat;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;import java.util.Gregoria原创 2017-07-11 20:06:01 · 396 阅读 · 0 评论 -
Java中异常处理机制
Java异常处理异常是程序中的一些错误,但并不是所有的错误都是异常,并且错误有时候是可以避免的。比如说,你的代码少了一个分号,那么运行出来结果是提示是错误java.lang.Error;如果你用System.out.println(1/0),那么你是因为你用0做了除数,会抛出java.lang.ArithmeticException的异常。异常发生的原因有很多,通常包含以下几大类:用户输入了非法数据原创 2017-07-12 19:21:45 · 308 阅读 · 0 评论 -
Java中列出目录的树状结构
利用递归方法,遍历指定的目录,输出子目录中的文件package tk.javazhangwei;import java.io.File;/** * 打印目录树状结构 * @author zw * */public class TestTree { public static void main(String[] args) { //找一个自己硬盘上有用的文件夹 Fil原创 2017-07-12 19:36:37 · 1308 阅读 · 0 评论 -
Java面向对象设计多态特征理解
a.多态:具有表现多种形态的能力的特征,具有多种实现方式b.多态的要求:1.必须有继承2.要有方法重写3.父类引用指向子类对象c.多态的优点:简化代码,去掉繁琐d.演示代码:package com.zhangwei.testDuotai;/*** * 多态应用。可以解决繁琐的调方法 * @author zw *有继承关系 *必须在方法类 *必须是原创 2017-07-06 17:57:21 · 332 阅读 · 0 评论 -
Java中增强for循环
package tk.zhangwei.array2;/*** * * jdk新特性 */import java.util.Arrays;public class test02 { public static void main(String[] args){ int[] a = {15,12,45,84,87,23,42}; for(int i :原创 2017-07-10 16:27:16 · 784 阅读 · 0 评论 -
Java中Collection扩展之commons
以下是部分代码:package tk.zhangwei.commons;import java.util.ArrayList;import java.util.List;import org.apache.commons.collections4.Predicate;import org.apache.commons.collections4.PredicateUtils;import or原创 2017-07-29 15:22:46 · 566 阅读 · 0 评论 -
如何让eclipse窗口恢复默认
Windows下Perspective有个Rest Perspective 点击OK就是原创 2017-07-07 19:57:47 · 1207 阅读 · 0 评论 -
java中钩子方法简单使用
package tk.javazhangwei.callback;/*** * 创建一个MyFrame接口 * @author zw * */public interface MyFrame { void Frame();}原创 2017-07-07 20:07:49 · 5187 阅读 · 0 评论 -
java中继承使用(extends)
通过代码可以对比一下组合和继承的各自好处总得来说:1.拥有关系急用组合2.是关系就用继承package com.zhangwei.testExtend;/*** * 继承 * @author zw * */public class Animal { String brand; int tui; int speed; public void run(){原创 2017-07-07 20:24:48 · 731 阅读 · 0 评论 -
Java中自写ArrayList容器
目的是自己实现一个ArrayList,以便于更好的理解ArrayList的底层结构1. 默认容器为10,如果大于10就扩容,扩容其实就是创建一个能容纳更多的一个数组,然后把原来的数组copy至新的数组private Object[] elementData; private int size; public int size(){ return size; }原创 2017-07-09 14:47:30 · 343 阅读 · 0 评论 -
Java中自写LinkedList,掌握底层结构
- 太累了啊,头都炸了。画个图方便理解remove()方法和add()方法package tk.zhangwei.collection;public class SxtLinkedList { private Node first;//第一个节点 private Node last;//最后一个节点 private int size; public void add(Ob原创 2017-07-20 20:56:20 · 389 阅读 · 0 评论 -
java中内部类
普通成员类它可以访问普通的属性方法,可以看做外部类的一个普通属性静态内部类可以直接访问外部类的静态属性方法。package tk.zhangwei.InnerClass;/*** * * 内部类使用 */import tk.zhangwei.InnerClass.face.nose;public class InnerClass { public static void ma原创 2017-07-08 13:53:11 · 321 阅读 · 0 评论 -
java构造器和方法的区别
摘要要学习Java,你必须理解构造器。因为构造器可以提供许多特殊的方法,这个对于初学者经常混淆。但是,构造器和方法又有很多重要的区别。原作者:Robert Nielsen 原站:www.javaworld.com 我们说构造器是一种方法,就象讲澳大利亚的鸭嘴兽是一种哺育动物。(按:老外喜欢打比喻,我也就照着翻译)。要理解鸭嘴兽,那么先必须理解它和其他哺育动物的区别。同样地,要理解构转载 2017-07-08 15:44:18 · 588 阅读 · 0 评论 -
Java中自写Map
Map的底层实现是数组加链表 配合LinkedList看吧http://blog.csdn.net/jav_zhangwei/article/details/75577972package tk.zhangwei.collection;import java.util.LinkedList;/*** * map的底层实现是:数组加链表 * @author zw * */public cl原创 2017-07-21 15:46:12 · 577 阅读 · 0 评论 -
Java中数组的简单使用
数组定义:相同数据类型的有序结合数组也是对象,数组元素相当于对象的成员变量数组长度是确定的,不可变得。如果越界,则报错:ArrayIndexOutofBoundException原创 2017-07-08 19:51:13 · 454 阅读 · 0 评论 -
Java复制文件操作方法
1.复制文件代码package tk.javazhangwei.byteIo;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;i原创 2017-07-30 18:34:00 · 1204 阅读 · 4 评论 -
JavaSe复习笔记
一、java中为什么byte范围是在-128~127?(1)从表面上看,是0占了一个位置(2)从补码角度看。因为java用补码表示二进制。补码的最高位是符号位,最高位为“0”表示正数,最高位为“1”表示负数。正数补码为其本身;负数补码为其绝对值各位取反加1; 1、byte为一字节8位,最高位是符号位,即最大值是01111111,因正数的补码是其本身,即此正数为0原创 2017-10-06 16:55:42 · 708 阅读 · 0 评论