
Core Java高级
文章平均质量分 50
CoolTomato_
一个会写代码的番茄
展开
-
JFrame
由于昨天有一门期末考试,所以前几天一直在忙于临阵磨枪,所以没有更新博客,希望大家见谅哈,废话少说哈,直入正题。今天和大家分享一下JFrame、JoptionPanel对话框、非容器组件这三个部分的内容。软件的交互方式: 1、控制台的交互方式。(就是传说中的黑框框) 2、图形化界面的交互方式 。(本次介绍给大家的)java使用到的图形类主要在java.awt 与javax.swing包中。原创 2016-06-08 10:41:50 · 585 阅读 · 0 评论 -
I/O流之OutputStream、FileOutputStream
输出字节流: ——–| OutputStream 是所有输出字节流的父类。抽象类 ————–| FileOutputStream 向文件输出数据的输出字节流。FileOutputStream使用流程: 1. 找到目标文件。 2. 建立数据的输出通道。 3. 把数据转换成字节数组写出。 4. 关闭资源。FileOutputStream要注意的细节: 1. 使用FileOutputStre原创 2016-08-04 07:30:44 · 585 阅读 · 0 评论 -
死锁现象、线程的创建之实现Runnable接口
一、死锁现象: 1、由来:java中同步机制解决了线程安全问题,但是也同时引发死锁现象。2、死锁现象出现的根本原因: 1)存在两个或者两个以上的线程。 2)存在两个或者两个以上的共享资源。3、举例:死锁现象出现存在随机性。 1)未出现死锁现象: 2)出现死锁现象: 4、死锁现象的解决方案: 没有方案。只能尽量避免发生而已。原创 2016-12-09 16:55:06 · 663 阅读 · 0 评论 -
线程通信(生产者消费者问题)、wait()与notify()方法详解
一、线程通信(生产者消费者问题): 1、线程通讯: 一个线程完成了自己的任务时,要通知另外一个线程去完成另外一个任务。2、经典问题:生产者与消费者问题。 1)存在线程安全问题:可能出现价格错乱的情况,所以要加锁,而这里的Product p 对象是唯一的,即可作为锁。原创 2016-12-11 17:13:45 · 906 阅读 · 0 评论 -
线程的停止、守护线程、join()方法
一、线程的停止: 之前有stop()方法,虽然依旧可以用,但是已经过时了,因此推荐如下的方法。 1、停止一个线程:我们一般都会通过一个变量去控制的。 2、如果需要停止一个处于等待状态下的线程,那么我们需要通过变量配合notify方法或者interrupt()来使用。 前提:处于等待(阻塞)状态的线程,可能会使程序一直处于运行状态。 1)notify():偶尔可以停止。原创 2016-12-11 23:30:38 · 2739 阅读 · 1 评论 -
进程、线程、多线程的引入
一、进程 1、进程是java特有的。2、进程:是一个正在执行中的程序。 进程负责了内存空间的划分。 每一个进程执行都有一个执行顺序。 该顺序是一个执行路径,或者叫一个控制单元。3、问题: windows号称是多任务的操作系统,那么windows是同时运行多个应用程序吗? 1)从宏观的角度: windows确实是在同时运行多个应用程序。 2)从微观角度: cpu是做了一个快速切换执行的动作,原创 2016-08-06 14:09:21 · 408 阅读 · 0 评论 -
线程的创建之继承Thread类、线程的生命周期、线程常用的方法、currentThread方法详解
一、线程的创建 1、如何在自定义的代码中,自定义一个线程呢? 通过对API文档的查找,java已经提供了对线程这类事物的描述——Thread类。2、创建线程的第一种方式:继承Thread类。 1)步骤: a)自定义一个类继承Thread类。 b)重写Thread类的run方法 , 把自定义线程的任务代码写在run方法中 目的:将自定义代码存储在run方法,让线程运行。原创 2016-12-09 13:34:29 · 803 阅读 · 0 评论 -
多线程经典问题之多窗口卖票
需求:简单的卖票程序,要实现多个窗口同时买票。一、方式一:1、问题:为什么50张票被卖了150次?2、出现的原因:因为num是非静态的,非静态的成员变量数据是在每个对象中都会维护一份数据的,三个线程对象就会有三份。解决方案:把num票数共享出来给三个线程对象使用。使用static修饰。原创 2016-08-06 16:00:33 · 1433 阅读 · 0 评论 -
线程安全问题之线程同步机制(同步代码块)
继续讨论多窗口卖票问题中的线程安全问题: 方式二: 一、问题: 出现了线程安全问题 ?二、问题的原因: 当多条语句在操作同一个线程共享数据时,一个线程对多条语句只执行了一部分,还没有执行完,另一个线程参与进来执行。导致共享数据的错误。三、出现线程安全问题的根本原因: 1、存在两个或者两个以上的线程对象,而且线程之间共享着一个资源。 2、有多个语句操作了共享资源。原创 2016-08-06 22:55:36 · 1613 阅读 · 0 评论 -
事件
UI界面最核心的部分——事件。 事件: 当发生了某个事件的时候,就会有相应处理方案。 事件源 监听器 事件 处理方案1、动作事件监听器: 点击一下: 再点击一下: 2、鼠标事件监听器: 大家有没有什么感觉啊? 太麻烦了,比如我常用的只用单击或者按下,而每次却要重写所有的方法,那该怎么办呢?原创 2016-06-12 16:35:19 · 503 阅读 · 0 评论 -
I/O流之进步认识、InputStream以及FileInputStream
File类: 用于描述一个文件或者文件夹的。 通过File对象,我们可以读取文件或者文件夹的属性数据,如果我们需要读取文件的内容数据,那么我们需要使用IO流技术。IO流(Input Output) IO流解决问题: 解决设备与设备之间的数据传输问题。 内存—>硬盘 硬盘—>内存IO流技术:IO流分类: 1)如果是按照数据的流向划分: a)输入流 b)输出流原创 2016-07-29 22:40:24 · 25539 阅读 · 5 评论 -
I/O流之File类常用方法(1)
1、创建: 1)createNewFile() 在指定位置创建一个空文件,成功就返回true,如果已存在就不创建然后返回false 2)mkdir() 在指定位置创建目录,这只会创建最后一级目录,如果上级目录不存在就抛异常。 3)mkdirs() 在指定位置创建目录,这会创建路径中所有不存在的目录。 4)renameTo(File dest) 重命名文件或文件夹,也可以操作非空的文件原创 2016-07-26 16:19:18 · 463 阅读 · 0 评论 -
Java中的Dialog、JOptionPane对话框
Java图形化界面中的三大对话框:对话框类(Dialog)、对话框(JOptionPane)、文件对话框(FileDialog)。1、对话框(Dialog) 输出结果: 2、对话框(JOptionPane) 两种方法效果对比: 还是有些不同吧,大家择优选用吧。 至于,警告对话框、错误对话框、问题对话框、无图标对话框大努就不介绍了,只要把最后一个参数改变一下就好大家感兴趣可以一一原创 2016-06-08 16:03:44 · 8354 阅读 · 0 评论 -
文件对话框(FileDialog)、JPanel
再来介绍一个,也是最后一个,但也相对比较厉害的一个对话框——文件对话框(FileDialog)。1、mode为LOAD的 2、mode为SAVE的代码仅仅改一处为SAVE便不再展示了,输出结果为: FileDialog()中的两种常用方法: 至于LOAD依旧不在举例了。原创 2016-06-08 16:29:24 · 1058 阅读 · 1 评论 -
非容器组件
通过几行代码,给大家介绍一下非容器组件。 大家在这里也看到了我说的是创建一个单选框,但是却依旧可以选中两个,而且JRadioButton类也没有选错,这是为什么呢? 原因如下: 完整代码如下:import javax.swing.*;public class Demo{ public static void main(String[] args)原创 2016-06-09 15:18:14 · 464 阅读 · 0 评论 -
菜单组件
还是用几行代码给大家介绍一下菜单组件。import javax.swing.*;import java.awt.*;public class Demo{ public static void main(String[] args){ JFrame frame = new JFrame("窗口"); //创建菜单条原创 2016-06-10 11:50:40 · 649 阅读 · 0 评论 -
布局管理器
布局管理器:布局管理就是用于指定组件的摆放位置的。 每种布局管理器都有自己的摆放风格,下面给大家介绍几种常用的布局管理器。1、BorderLayout(边框布局管理器) 摆放的风格:上北、下南 、左西、右东、中 。 Borderlayout 要注意的事项: 1)使用Borderlayout添加组件的时候,如果没有指定组件的方位,那么默认添加到中间的位置上。原创 2016-06-11 16:47:35 · 838 阅读 · 0 评论 -
I/O流之File类常用方法(2)
5、文件夹相关: 1)staic File[] listRoots() 列出所有的根目录(Window中就是所有系统的盘符) 举例:File[] roots = File.listRoots(); //列出所有的根目录 for(File file : roots){ System.out.println(file); }2)list() 返回目录下的文件或者目原创 2016-07-26 20:00:14 · 355 阅读 · 0 评论 -
I/O流之初步认识、File类构造方法以及文件路径问题
IO流(Input Output) : 1、IO技术主要的作用是解决设备与设备之间 的数据传输问题。 比如: 硬盘—>内存 内存的数据—->硬盘上 把键盘的数据——->内存中IO技术的应用场景: 导出报表 ,上传大头照,下载,解释xml文件 … 数据保存到硬盘上,该数据就可以做到永久性的保存。数据一般是以文件的形式保存到硬盘上。2、sun使用了一个File类描述了文件或者文件夹的。File原创 2016-07-25 17:40:32 · 1742 阅读 · 0 评论 -
I/O流外篇之File类、简述Lambda表达式
File类是java.io包下代表与平台无关的文件和目录,也就是说希望在程序中操作文件和目录,都可以通过File类来完成。 File类中的常用方法: 方法分析一: 方法分析二: 方法分析三: 方法分析四: 由于在接下来的内容中涉及了Lambda表达式,所以在此简单介绍下Lambda表达式如何使用。原创 2016-07-20 21:28:30 · 311 阅读 · 0 评论 -
同步代码块应用之取钱问题、线程安全问题之线程同步机制(同步函数)
一、同步代码块经典实例: 1、需求:一个银行账户5000块,两夫妻一个拿着存折,一个拿着卡,开始取钱比赛,每次只能取一千块,要求不准出现线程安全问题。2、目的:该程序是否有安全问题,如果有,如何解决? 3、如何找问题: 1)明确哪些代码是多线程运行代码。 2)明确共享数据。 3)明确多线程运行代码中哪些语句是操作共享数据的。4、代码解决: 方式一:原创 2016-12-09 17:48:24 · 595 阅读 · 0 评论