001-SE
荣耀小歪
希望你不断学习,不断进步
展开
-
001-SE-0013-多线程-同步代码
同步代码块// 自定义线程类package pack;public class MyThread implements Runnable { private static int ticket = 100; private Object obj = new Object(); @Override public void run() { while(true){ sy...原创 2018-02-09 01:02:03 · 157 阅读 · 0 评论 -
001-SE-0012-多线程-基本概念
基本概念进程:正在执行的应用程序线程:进程的执行单元,执行路径多进程的意义? 提高CPU的使用率多线程的意义? 提高应用程序的使用率start()和run()的区别 start()先启动线程,再由JVM调用run()方法 run()直接调用仅仅是普通方法多线程的实现方案(自己补齐步骤及代码掌握) A:继承Thread类,重写run()方法,将需要用多线程执行的...原创 2018-02-09 00:59:52 · 213 阅读 · 0 评论 -
001-SE-0014-多线程-锁
死锁问题/* * 同步的弊端: * A:效率低 * B:容易产生死锁 * * 死锁: * 两个或两个以上的线程在争夺资源的过程中,发生的一种相互等待的现象。 * * 举例: * 中国人,美国人吃饭案例。 * 正常情况: * 中国人:筷子两支 * 美国人:刀和叉 * 现在: * 中国人:筷子1支,刀一把 * 美国人:筷...原创 2018-02-09 01:05:31 · 200 阅读 · 0 评论 -
001-SE-0015-多线程-生产消费模式
生产消费模式* 生产者生产包子 * 先看是否有包子,没有就生产,有就等待并通知消费者来消费包子* 消费者消费包子 * 先看是否有包子,有就消费,没有就等待并通知生产者来生产包子* java提供了等待唤醒机制等待唤醒机制* Object类提供了等待方法和唤醒方法* 等待 * wait():进入等待并立即释放锁,等待期间该线程抢不到cpu执行权* 唤醒 * notify():唤醒绑定在...原创 2018-02-09 01:07:42 · 188 阅读 · 0 评论 -
001-SE-0016-多线程-线程池
Executors工厂类:主要用于生产线程池,API如下 ExecutorService newCachedThreadPool() ExecutorService newFixedThreadPool(int nThreads) ExecutorService newSingleThreadExecutor()线程池对象 * 即ExecutorService对象 ...原创 2018-02-09 23:34:48 · 227 阅读 · 0 评论 -
001-SE-0019-DBCP及DBUtils
DBUtils * Apache commons的一个组件 * 只能操作表中的数据,不能操作表结构 * 常用功能 * QueryRunner中提供对sql语句操作的API. * ResultSetHandler接口,用于定义select操作后,怎样封装结果集. * DbUtils类,它就是一个工具类,定义了关闭资源与事务处理的方法 * 使用步骤 * 导入Jar包:commo...原创 2018-03-14 21:44:31 · 129 阅读 · 0 评论 -
001-SE-0017-数据库
MYSQL :开源免费的数据库,小型的数据库.已经被Oracle收购了.MySQL6.x版本也开始收费。Oracle :收费的大型数据库,Oracle公司的产品。Oracle收购SUN公司,收购MYSQL。DB2 :IBM公司的数据库产品,收费的。常应用在银行系统中.SQLServer:MicroSoft 公司收费的中型的数据库。C#、.net等语言常使用。SyBase :已经淡出历史舞台。提供了...原创 2018-03-12 22:05:55 · 211 阅读 · 0 评论 -
001-SE-0018-JDBC
db.properties* jdbc.driver=com.mysql.jdbc.Driver* jdbc.url=jdbc:mysql://localhost:3306/databaseName* jdbc.user=root* jdbc.password=root连接数据库工具类(不带连接池)package pack;import java.io.FileReader;impor...原创 2018-03-12 23:17:07 · 220 阅读 · 0 评论 -
001-SE-0020-JAVA7新特性
switch中使用String * java7以前在switch中只能使用number或enum。 * 现在可以使用string了。try-with-resources * java7以前对某些资源的操作是需要手动关闭,如InputStream,Writes,Sockets,Sql等,需要在finally中进行关闭资源的操作 * 现在不需要使用finally来保证打开的流被正确关闭,现...原创 2018-05-30 21:15:45 · 175 阅读 · 0 评论 -
001-SE-0011-网络编程
网络编程三要素 * ip地址 * 端口 * 协议InetAddress类 * java操作ip地址的类 * 获取对象 *InetAddress address = InetAddress.getByName(String arg); * 参数arg可以是字符串主机名,例如:"fanshoujun" * 参数arg可以是字符串ip地址,例如:"192.168.126.1...原创 2018-02-09 00:52:10 · 263 阅读 · 0 评论 -
001-SE-0008-IO复制
字节流复制文件:* 使用FileInputStream和FileOutputStream复制文件 public class MyTest { public static void main(String[] args) throws Exception { FileInputStream fis = new FileInputStream("fis.txt");//里面的内容是abc...原创 2018-02-09 00:43:04 · 134 阅读 · 0 评论 -
001-SE-0001-for循环
package pack;import static org.junit.Assert.*;import org.junit.Test;public class t { @Test //正方形5*5 public void testName() throws Exception { for (int x = 0; x < 5; x++) { for (int y =...原创 2018-02-08 23:16:10 · 258 阅读 · 0 评论 -
001-SE-0002-内存划分
* 寄存器 由cpu管理,java涉及不到* 本地方法区 和所在系统相关,运行的是本地系统平台中的内容* 方法区 存储已被虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码等数据,常量池是方法区的一部分* 栈内存 存储的都是局部变量,变量所属的作用域一旦结束,变量自动释放* 堆内存 存的是对象,...原创 2018-02-08 23:18:51 · 97 阅读 · 0 评论 -
001-SE-0003-排序
* 选择排序(找最小值)// 0位置的数和其他位置的分别比较,0位置的大,和对方调换位置,0位置小,不动,这样一轮比下来0位置就是最小的数,然后从1位置再比@Testpublic void test() throws Exception { int[] arr={34,19,11,109,3,56}; for (int x = 0; x < arr.length-1; x++) {...原创 2018-02-08 23:25:49 · 98 阅读 · 0 评论 -
001-SE-0005-泛型
泛型 泛型类: 定义:类名后<变量> 如:class A<E> {使用E完成类的定义} 使用:创建对象时使用具体类型替换E 举例: //定义泛型类 public class ObjectTool<E> { private E obj; public E getObj() { return obj; }...原创 2018-02-09 00:34:56 · 135 阅读 · 0 评论 -
001-SE-0004-二分法查找
* 二分查找的数组只能是从大到小排列的,或从小到大排列的* 当max<min时就返回-1@Testpublic void testName7() throws Exception { //int[] arr={34,19,11,109,3,56}; int[] arr={13,24,36,41,66,78,109}; int index = halfSerarch(arr,109);...原创 2018-02-08 23:28:06 · 166 阅读 · 0 评论 -
001-SE-0006-异常
Throwable是所有异常和错误的父类,有2个子类 * Error 错误: * 程序中不做处理 * 例如由于内存条太小导致内存溢出 * Exception 异常 * 运行期异常 * 运行时发生的异常,程序中不做处理 * 一般是因为代码逻辑不严谨导致 * 例如 int num = 1/0; * 编译期异常 * 非运行期异常都是编译期异常 * 程序...原创 2018-02-09 00:37:50 · 139 阅读 · 0 评论 -
001-SE-0007-递归
递归 * 递归调用必须要在某个条件下结束,否则就是死递归。 * 递归调用的层次不能太多,否则会堆栈溢出。 * 构造方法不能递归调用举例: 阶乘 public class MyTest { public static void main(String[] args) { System.out.println(jiecheng(5)); } public s...原创 2018-02-09 00:39:23 · 124 阅读 · 0 评论 -
001-SE-0009-其他流
打印流* 只有输出流 * printStream * printWriter * 可以打印任意类型的数据 * 有自动刷新功能,需要手动启动 * 可以直接操作文本的(这里说的直接操作文件就是有直接传入File对象的构造方法的流,高效流不可以操作文件) * printWriter使用举例: PrintWriter pw = new PrintWriter("fos.txt"); ...原创 2018-02-09 00:48:36 · 205 阅读 · 0 评论 -
001-SE-0010-Properties AND CommonsIO工具类
Properties(没有泛型的Map集合)FileReader f = new FileReader("db.properties");Properties prop = new Properties();prop.load(f);String driver = prop.getProperty("jdbc.driver");System.out.println(driver);Comm...原创 2018-02-09 00:50:53 · 96 阅读 · 0 评论 -
001-SE-JAVA8新特性
一、接口的默认方法在接口中新增了default方法和static方法,这两种方法可以有方法体 1、static方法 示例代码:public interface DefalutTest { static int a =5; default void defaultMethod(){ System.out.println("DefalutTest defalut 方法"...转载 2018-05-30 21:54:01 · 209 阅读 · 1 评论