自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(262)
  • 问答 (1)
  • 收藏
  • 关注

原创 Java 多线程间通信 多生产 多消费问题

/*生产者,消费者多生产者,多消费者的问题if判断标记 只有一次 会导致不该运行的线程运行了,出现了数据错误的情况while判断标记 解决了线程获取执行权后,是否要允许!notifyAll解决了 本方线程一定会唤醒对方线程(但是影响效率)notify 只能唤醒一个线程,如果本方唤醒了本方没有意义 而且while判断标记+ notify会导致死锁*/class Produc

2017-08-25 21:34:28 263

原创 Java 多线程间的通信 等待唤醒

/*有两个线程 一个给名字和性别赋值(input) 一个输出名字和性别(output) 但会一下输出很多同样的名字和性别(cpu没切走)用等待唤醒机制 就可以 1 赋值一个 然后input wait 唤醒output 2 输出一个 output wait 再唤醒input 这样可以赋值一个 就输出一个 等待/唤醒机制。涉及的方法:1 wait(); 让线程处于冻结状态,被wait

2017-08-25 19:37:43 299

原创 Java 多线程的通信

/*线程间通信:多个线程在处理同一资源,但是任务不同*/class Resource{ String name; String sex;}class Input implements Runnable{ Resource r; Input (Resource r){ this.r=r; } public void run(){ int x=0; whi

2017-08-25 16:07:21 226

原创 Java 死锁例子

/*死锁:产生死锁的原因之一 同步的嵌套本应该无限打印 但死锁会停止打印*/class Test implements Runnable{ boolean flag=true; Test(boolean flag) { this.flag=flag; } public void run(){ if(flag){ while(true){ synchroni

2017-08-24 16:50:05 230

原创 Java 同步单例设计模式

//饿汉式class Single{ private static final Single s=new Single(); private Single(){} public static Single getInstance(){ return s; }}//懒汉式class Single{ private static s=null; private Single()

2017-08-24 15:19:19 278

转载 Leetcode add-two-numbers

/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } *//*题意是将两个链表相加 但这两个链表是反序存储的 (每个节点只包含一位数字)要求返回相

2017-08-24 14:18:20 195

原创 Java 同步函数

/* 同步函数 用的锁是this 可以将同步代码块 传入的对象为this 则同步代码块和同步函数调用了同一个锁 同步函数和同步代码块的区别: 同步函数的锁是固定的this(当前对象) 同步代码块的锁是任意对象 建议使用同步代码块*//**/class Ticket implements Runnable{ p

2017-08-23 20:13:31 371

原创 Java 同步问题2

/*线程安全问题产生发原因:1 多个线程在操作同一个数据2 操作共享数据的线程代码有多条当一个线程在执行操作共享数据的多条代码过程中 其他线程参与了运算就会导致线程安全问题的产生解决思路:就是将多条操作共享数据的线程代码封装起来,当有线程在执行这些代码的时候其他线程不可以参与运算必须要当前线程把这些代码都执行完毕后,其他线程才可以参与运算在Java中 用同步代码块就可以

2017-08-22 12:01:14 231

原创 Java 同步问题

/*线程安全问题产生发原因:1 多个线程在操作同一个数据2 操作共享数据的线程代码有多条当一个线程在执行操作共享数据的多条代码过程中 其他线程参与了运算就会导致线程安全问题的产生解决思路:就是将多条操作共享数据的线程代码封装起来,当有线程在执行这些代码的时候其他线程不可以参与运算必须要当前线程把这些代码都执行完毕后,其他线程才可以参与运算在Java中 用同步代码块就可以

2017-08-21 21:49:26 330

原创 传递函数依赖

觉如 学号决定 班号 班号 决定班长 且 这三个属性没有互相包含 称为传递依赖

2017-08-21 20:07:34 11625 2

原创 完全函数依赖和部分函数依赖

  完全函数依赖{学号,课号}-->成绩 学号+课号 可以决定 成绩  但只有学号or只有课号无法决定成绩  部分函数依赖 {学号,课号}-->姓名      只有学号就能决定姓名   (课号是冗余的)  ...

2017-08-21 19:55:26 23126 17

原创 Java 多线程 线程安全问题

/*线程安全问题产生发原因:1 多个线程在操作同一个数据2 操作共享数据的线程代码有多条当一个线程在执行操作共享数据的多条代码过程中 其他线程参与了运算就会导致线程安全问题的产生*/class Ticket implements Runnable{ private int num=100; public void run(){ while(true){ if(n

2017-08-20 20:58:38 306

原创 Java 创建多线程的第二种方式

/*创建线程的第一种方法:继承Thread类创建线程的第二种方法:实现Runnable接口1 定义类实现Runnable接口2 覆盖接口中的run方法,将线程的任务代码封装到run方法中3 通过Thread类创建线程对象,并将Runnable接口的子类对象作为Thread构造函数的参数进行传递//为什么 ?因为线程的任务都封装在Runnable接口子类对象的run方法中//所以要

2017-08-18 08:59:05 323

原创 线程的状态图

2017-08-17 23:40:48 414

原创 Java 多线程内存

创建新的现成后 就会有新的栈空间 与主函数 不同的空间 任意栈空间异常或结束 不影响其他栈空间 Exception in thread “main”  异常在 主函数线程中

2017-08-17 16:09:26 284

原创 Java Thread 类中的方法和线程名称

/*如何创建一个线程创建线程方式一:继承Thead类步骤1 定义一个类继承Thead类2 覆盖Thread类中的run方法3 直接创建Thread的子类对象创建线程4 调用start方法开启线程并调用线程任务的run方法执行可以通过Thread的getName获取线程的名称 Thread-编号(从0开始) 一创建对象时就有编号主线程的名字就是main*/class D

2017-08-17 15:44:39 852

原创 Java 多线程的创建 ---继承Thread类

/*如何创建一个线程创建线程方式一:继承Thead类步骤1 定义一个类继承Thead类2 覆盖Thread类中的run方法3 直接创建Thread的子类对象创建线程4 调用start方法开启线程并调用线程任务的run方法执行*/class Demo extends Thread{ private String name; Demo(String name){ thi

2017-08-17 15:22:50 701

原创 Java 多线程 简介

/*进程:正在进行中的程序(直译)其实对应 在内存中开辟的空间线程:进程中的一个负责程序执行的控制单元(执行路径)一个进程中可以有多个执行路径,称为多线程一个进程中至少有一个线程 开启多个线程是为了同时运行多部分代码每一线程都有自己运行的内容,这个内容可以称为线程要执行的任务多线程 能解决多个部分同时执行弊端 效率低(cpu切换的太多了 ) 其实应用程序的执行都是

2017-08-17 14:47:10 202

转载 cmd 下 javac 错误:编码GBK不可映射字符

。两种方法 1、用记事本打开  另存为  编码 选择为ANSI 保存2、在cmd窗口下执行javac命令是,写为javac -encoding utf-8 -d .  文件名转自http://blog.csdn.net/u012848709/article/details/52719045

2017-08-16 23:22:47 408

原创 Java Jar包

/*Jar:java的压缩包*/package pack;class JarDemo{ public static void main(String[] args) { System.out.println("Hello Jar"); }} //./pack//.haha.jar/pack/*D:\毕Java\包>set classpath=./haha.ja

2017-08-16 23:08:20 260

原创 Java import 导入包中类

package mypack; import packa.DemoA;//导入了 packa包中的 DemoA类 import packa.*;//导入类,只能导入类 //packa\abc\DemoABC.class//需要 import packa.abc.*;//开发不建议导入*// 导包的原则 用到那个类 导入那个类 不管多少个//import 干嘛用的? 为了简化类

2017-08-16 22:50:31 6913

原创 Java 四种访问权限

package packb;public class DemoB { /*public*/protected void method() {//保护 只能子类访问此功能 System.out.println("Hello DemoB"); }}/*四种权限总结: 包与包之间的类进行访问,被访问的包中的类必须是public的 被访问的类中的方法也必须是public的

2017-08-16 20:58:13 310

原创 Java 包与包之间的访问 (类在不同包里)

package mypack; class PackageDemo2{ public static void main(String[] args) { //DemoA d=new DemoA(); packa.DemoA d=new packa.DemoA(); d.show(); System.out.println("Hello package"); }}/*D

2017-08-16 20:00:02 3118

原创 Java 包

/*包: 对类文件进行分层管理 给类提供多层命名空间 写在程序文件的第一行 类名的全称是 包名.类名 包也是一种封装形式*/package mypack;// mypack.hehe.hahaclass PackageDemo1{ public static void main(String[] args) { System.out.println("Hellow Pac

2017-08-16 14:36:30 201

原创 Java toString

/*toString()所有对象都有此 方法 但建议将其覆盖*/ class Person extends Object{ private int age; Person(int age){ this.age=age; } /* 一般都会覆盖此方法(equals),根据对象的特有内容,建立判断对象是否相同的依据 */ public boolean e

2017-08-16 00:48:20 395 1

原创 Java hashcode 和getClass

class Person extends Object{ private int age; Person(int age){ this.age=age; } /* 一般都会覆盖此方法(equals),根据对象的特有内容,建立判断对象是否相同的依据 */ public boolean equals(Object obj){ if(!(obj instanc

2017-08-16 00:39:40 519

原创 Java 字节码文件Class(大写C) 和getClass方法

人抽取出 Person 对象 class 抽取出 Class(自解码文件类名)、先产生自解码文件 在产生类对象getClass方法 返回 自解码Class文件 Class clazz1=p1.getClass(); Class clazz2=p2.getClass(); System.out.println(clazz2==clazz1); Sys

2017-08-16 00:37:15 806

原创 Java 异常注意事项

/*异常的注意事项:1、子类在覆盖父类方法是,父类的方法如果抛出了异常那么子类的方法只能抛出父类的异常 或者该异常的子类2、如果父类抛出多个异常,那么子类只能抛出父类异常的子集简单说: 子类覆盖父类只能抛出父类的异常或者子类或者子集注意: 如果父类的方法没有抛出异常,那么子类覆盖时绝对不能抛异常 就只能tryinterface Inter{ void function();

2017-08-15 20:56:03 300

原创 Java 异常应用 异常代码快的封装

/*毕老师用电脑上课问题涉及涉及两个对象毕老师 电脑分析其中的问题比如 电脑蓝屏 冒烟了冒烟了 不能抛给公司 需要无法上课异常 将无法上课异常抛给公司 */class LanPingException extends Exception{ LanPingException(String msg){ super(msg); }} class MaoYanExce

2017-08-15 20:36:17 323

原创 Java 异常finally 代码块

/*finally 一定会执行到除非System.exit(0) //退出jvm*/class Demo{ public int show(int index)throws ArrayIndexOutOfBoundsException{ if(index<0) throw new ArrayIndexOutOfBoundsException("越界了"); int []

2017-08-15 11:07:20 347

原创 Java 多catch

/*异常 多catch*/class FuShuIndexException extends Exception{ FuShuIndexException(){ } FuShuIndexException(String msg){ super(msg); }}class Demo{ public int method(int []arr,int index)throw

2017-08-14 20:54:20 537

原创 Java 异常 try catch

毕向东Java 学习

2017-08-14 15:53:31 333

原创 Java 自定义异常 异常抛出

/*对于角标是整数不存在 可以用角标越界表示对于负数为角标的情况 准备用负数角标异常来表示负数角标这种异常在Java中没有定义过那就按照Java 异常的创建思想 面向对象 将负数角标进行自定义描述 并封装成对象这种自定义的问题描述称为自定义异常注意:如果让一个类称为异常类,必须要继承异常体系,因为只有称为体系的子类才具备可抛性 才可以被两个关键字 所操作,throws thro

2017-08-14 12:36:31 1878

原创 Java 异常抛出

class Demo{ public void method(int []arr,int index){ System.out.println(arr[index]);//(虚拟机 先new 再 throw给主函数) throw new ArrayIndexOutBoundsException(idnex) }}class ExceptionDemo2{ public stati

2017-08-13 16:41:38 246

原创 java 异常2

/*异常:是在运行时期发生的不正常情况在Java中用类的形式对不正常情况进行了描述和封装对象描述不正常的情况的类,称为异常类以前正常代码和问题处理代码相结合 // if(time<0){ 处理方法}现在将正常代码和 问题处理代码 相分离,调高了阅读性其实一场就是Java通过面向对象的思想将问题封装成了对象用异常类对其描述不同的问题用不同的类进行具体的描述 比如角标越界 空

2017-08-13 16:13:49 414

原创 Java 异常

/*异常:是在运行时期发生的不正常情况在Java中用类的形式对不正常情况进行了描述和封装对象描述不正常的情况的类,称为异常类以前正常代码和问题处理代码相结合 // if(time<0){ 处理方法}现在将正常代码和 问题处理代码 相分离,调高了阅读性其实一场就是Java通过面向对象的思想将问题封装成了对象用异常类对其描述不同的问题用不同的类进行具体的描述 比如角标越界 空

2017-08-13 10:00:43 299

转载 BeautifulSoup

https://www.crummy.com/software/BeautifulSoup/bs4/doc/index.zh.html#id4 官方文档

2017-08-12 22:17:54 249

原创 Java equals方法覆盖

/* Object:所有类的根类 Object 是不断抽取而来的,具备着所有对象都具有的共性 */ class Person extends Object{ private int age; Person(int age){ this.age=age; } /* 一般都会覆盖此方法(equals),根据对象的特有内容,建立判断对象是否相同的依据 */ p

2017-08-12 21:51:15 456

原创 java new子类对象过程

class Fu { int num=8; Fu(){ System.out.println("Fu construction run"); show();//第三步 但show方法被子类覆盖 子类show } void show(){ System.out.println("Fu num----"+num); }/* { System.out.println("fu

2017-08-11 19:46:31 872

原创 Java 匿名类内部类 应用

interface Inter{ void show1(); void show2();}/*通常的使用场景之一当函数参数是接口类型时,而且接口中的方法不超过三个(1or2) 太多不利于阅读性可以用匿名内部类作为实际参数进行传递*/class Outer{ class Inner implements Inter{ public void show1(){ }

2017-08-11 16:58:35 290

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除