JavaSE
java
beishanqiye
全栈工程师
展开
-
IDAE文件自动头部注释作者信息
可以在class头部添加任何东西和代码如下打开IDAE设置位置第一步点击File第二步点击Settings…第三步点击Editor第四步点击File and Code Templates第五步点击Includes第六步点击FileHeader第七步在右边输入想自动生成的代码第八步点击OK我设置的如下/** * @author B3 * @date ${DATE} ${TIME} * @Email:beishanqiye@foxmail.com */创建cla原创 2020-10-30 14:18:56 · 354 阅读 · 0 评论 -
多线程——管程法(线程协作)
package thread;//生产者,消费者,产品,缓冲区public class TestPC { public static void main(String[] args) { SynContainer synContainer = new SynContainer(); new Productor(synContainer).start(); new Consumer(synContainer).start(); }..原创 2020-09-21 15:53:44 · 235 阅读 · 0 评论 -
多线程——锁private final ReentrantLock lock = new ReentrantLock();
package thread;import java.util.concurrent.locks.ReentrantLock;public class TestLock { public static void main(String[] args) { Lock1 lock = new Lock1(); new Thread(lock,"张").start(); new Thread(lock,"李").start(); .原创 2020-09-21 14:53:12 · 1328 阅读 · 0 评论 -
多线程——死锁( 理解 )
package thread;// 死锁:多线程各自占有一些共享资源,并且互相等待其他线程占有的资源才能运行,而导致两个或者多个线程都在// 等待对方释放资源,都停止执行的情况,某一个同步块同时拥有“两个以上对象的锁”时,就有可能发生“死锁”。// 产生死锁的四个必要条件:// 1.互斥条件: 一个资源每次只能被一个进程使用。// 2.请求与保持条件:一个进程因请求资源而阻塞时候,对已获得的资源保持不放。// 3.不剥夺条件:进程已获得的资源,在未使用完之前,不能强行剥.原创 2020-09-21 14:12:58 · 168 阅读 · 0 评论 -
多线程——测试JUC安全类型的集合
package thread;import java.util.concurrent.CopyOnWriteArrayList;public class TestJUC { public static void main(String[] args) throws InterruptedException { CopyOnWriteArrayList<String> strings = new CopyOnWriteArrayList<>();..原创 2020-09-21 11:37:51 · 189 阅读 · 0 评论 -
多线程——synchronized 为线程提供安全 (同步)
package thread;//不安全的买票public class ThreeUnsafeCasesTicket { public static void main(String[] args) { BuyTicket buyTicket = new BuyTicket(); new Thread(buyTicket,"You").start(); new Thread(buyTicket,"I").start(); ...原创 2020-09-21 11:30:03 · 196 阅读 · 0 评论 -
多线程——lambda 表达式缩写
package thread;//lambda表达式缩写public class LamdaTest { //2.静态内部类:该写法是写在类里面,这是写在了 LamdaTest 类里由于是该类调用所以要 static static class Like2 implements iLike{ @Override public void lambda() { System.out.println("this is Like 2").原创 2020-09-18 16:50:31 · 524 阅读 · 0 评论 -
多线程——三大不安全案例
买票package thread;//不安全的买票public class ThreeUnsafeCases { public static void main(String[] args) { BuyTicket buyTicket = new BuyTicket(); new Thread(buyTicket,"You").start(); new Thread(buyTicket,"I").start(); new Th原创 2020-09-18 16:47:22 · 393 阅读 · 0 评论 -
多线程——守护线程 Daemon 上帝保佑你,你活了多久
程序package thread;/*线程分为用户线程和守护线程虚拟机必须确保用户线程执行完毕虚拟机不用等待守护线程执行完毕守护线程,如:1、后台记录操作日志 2、监控内存 3、垃圾回收的等待 ··· ··· *///测试守护线程public class DaemonTest { public static void main(String[] args) { God god = new .原创 2020-09-15 15:00:23 · 163 阅读 · 0 评论 -
多线程——优先级 Priority
程序package thread;/*线程优先级 PRIORITY ,优先级分 10 个等级,等级 1 为最低等级 Thread.MIN_PRIORITY (最后跑)等级 5 为中等等级 Thread.NORM_PRIORITY等级 10 为最高等级 Thread.MAX_PRIORITY (最先跑)等级不能小于 1 大于 10 。注意:优先级低只是意味着获得调度的概率低,并不是优先级低就不会 提前调用了,这还是要看 CPU 的调度,有可能优先级低的会提 前调度。.原创 2020-09-15 14:05:19 · 686 阅读 · 0 评论 -
多线程——静态代理模式
package thread;public class YouMarry { public static void main(String[] args) {// WeddingCompany weddingCompany = new WeddingCompany(new You());// weddingCompany.HappyMarry(); new Thread(()-> System.out.println("我爱你")).st.原创 2020-09-11 17:24:32 · 112 阅读 · 0 评论 -
多线程——龟兔赛跑Runnable接口
package thread;public class competition implements Runnable{ private static String contest; @Override public void run() { for (int i = 0; i <= 100; i++) { if (Thread.currentThread().getName().equals("Rabbit ")){ .原创 2020-09-11 14:46:31 · 305 阅读 · 0 评论 -
多线程——线程紊乱问题(没有解决)
发现问题package thread;//实现多个线程操作同一个对象,例子为买票public class thred01 implements Runnable{ //设置票数 private int ticketAmount=20;//设置票数为20张 @Override public void run() { while(true){ if (ticketAmount<=0){ b原创 2020-09-10 17:52:50 · 214 阅读 · 0 评论 -
多线程——Runnable 创建线程
package thread;// 创建线程方法2public class testRunnable implements Runnable{ @Override public void run() { for (int i = 0; i < 5000; i++) { //循环尽量大点,越了解线程的处理方式 System.out.println("!!!!!!"+i); } } public stat原创 2020-09-10 16:27:20 · 210 阅读 · 0 评论 -
多线程——Thread 练习题 ,下载图片
package thread;import org.apache.commons.io.FileUtils;import java.io.File;import java.io.IOException;import java.net.URL;//练习 Thread ,实现多线程同步下载图片public class towThread extends Thread{ private String url; private String name; public to原创 2020-09-10 16:15:07 · 153 阅读 · 0 评论 -
多线程——Thread类 创建线程
package thread;// 创建线程方式一 : 继承 Thread 类 ,重写方法 run(),调用 start 开启线程public class oneThread extends Thread { @Override public void run() { // 重写 run 方法,线程体 for (int i = 0; i < 5000; i++) { //循环尽量大点,越了解线程的处理方式 System.out.prin原创 2020-09-10 15:19:01 · 216 阅读 · 0 评论 -
集合——集合练习题,简单的电影操作
package gatherBox.exercises.movie;import java.util.*;public class Movie { private String name;//构建一个属性为电影名字,该属性的类型是 private String private String type;//构建一个属性为电影属性 private Integer donny;//构建一个属性为电影人气 public Movie() {//无参构造器 }...原创 2020-08-25 14:16:07 · 517 阅读 · 0 评论 -
集合——HashMap 练习题 (个人信息录入)
package gatherBox.exercises.exercisesTest;import java.util.HashMap;import java.util.Map;import java.util.Scanner;public class Test { public static void main(String[] args) { Map<String, Person> aMap = new HashMap<String, Pers...原创 2020-08-24 15:15:29 · 1235 阅读 · 0 评论 -
集合——TreeMapTest
package map.treeMap;import java.util.TreeMap;/*TreeMap: 低层是二叉树。key 不可以重复,value 可以重复 。 可以根据key 进行排序(一般 key 的类型实现了 Comparable、Comparator接口) */public class TreeMapTest { public static void main(String[] args) { TreeMap<String,.原创 2020-08-21 11:44:32 · 153 阅读 · 0 评论 -
集合——HashMap
package map.hashMap;import java.util.HashMap;//hashMap :kay记录是无序的public class Demo01 { public static void main(String[] args) { HashMap<String, String> stringStringHashMap = new HashMap<>(); //要求kay 不可以重复, value 可以重复.原创 2020-08-20 18:01:29 · 110 阅读 · 0 评论 -
集合——TreeSet
package gather.set.TreeSet;import java.util.TreeSet;//有序不可重复,重复要求实现Comparable或者Comparator 接口的类型public class Demo01 { public static void main(String[] args) { TreeSet<Integer> integers = new TreeSet<>(); integers.add(1.原创 2020-08-20 17:40:00 · 118 阅读 · 0 评论 -
集合——HashSet
package gather.set.hashSet;import java.util.HashSet;//哈希Set//哈希Set是无序不可重复的,如果有重复的它自动删除重复的保留一个public class Demo01 { public static void main(String[] args) { HashSet<String> objects = new HashSet<>(); objects.add("12312.原创 2020-08-20 17:38:11 · 104 阅读 · 0 评论 -
集合——LinkedList
package gather.list.linkedList;import java.util.ArrayList;import java.util.LinkedList;import java.util.List;/* LinkedList是删除快,查询慢 ArrayList是查询快,删除慢 */public class Demo03 { public static void main(String[] args) { LinkedList<Stri.原创 2020-08-20 17:35:45 · 123 阅读 · 0 评论 -
集合——ArrayList,删除,添加,修改
package gather.list.arrayList;import java.util.ArrayList;import java.util.List;//泛型//泛型是给集合指定具体存放的数据类型,只能存放自定义数据类型public class Demo02 { public static void main(String[] args) { //集合只能存放自定义数据类型,例:int不行,得是Integer List<String>.原创 2020-08-20 17:32:50 · 819 阅读 · 0 评论 -
集合——ArrayList
package gather.list.arrayList;import java.util.ArrayList;import java.util.List;//集合//有序的可以重复,跟哈希set刚好相反public class Demo01 { public static void main(String[] args) { //Boolean、Character、Integer、Float Object[] object = {true,"好",原创 2020-08-20 17:30:25 · 108 阅读 · 0 评论 -
密码框
package window.password;import javax.swing.*;import java.awt.*;//密码框public class PasswordTest extends JFrame { public PasswordTest(){ Container contentPane = this.getContentPane();//容器 JPasswordField jPasswordField = new JPasswo.原创 2020-08-20 10:45:05 · 167 阅读 · 0 评论 -
文本框
package window.testbox;import javax.swing.*;import java.awt.*;//文本域public class TestBoxText extends JFrame { public TestBoxText() { Container contentPane = this.getContentPane();//容器 JTextField test1 = new JTextField("文本域一");//文.原创 2020-08-20 10:33:32 · 143 阅读 · 0 评论 -
列表框
package window.listbox;import javax.swing.*;import java.awt.*;import java.util.Vector;//列表框public class ListboxText extends JFrame { public ListboxText() { Container contentPane = this.getContentPane();//容器 //生成列表内容 //.原创 2020-08-20 10:15:49 · 514 阅读 · 0 评论 -
下拉框
package window.drop;import javax.swing.*;import java.awt.*;//下拉框 (例:QQ好友组)public class DropTest extends JFrame { public DropTest(){ Container contentPane = this.getContentPane(); JComboBox jComboBox = new JComboBox();//实例化下拉组.原创 2020-08-20 09:36:41 · 138 阅读 · 0 评论 -
复选框
package window.jbutton;import javax.swing.*;import java.awt.*;//复选框public class JButtonTest03 extends JFrame { public JButtonTest03() { Container contentPane = this.getContentPane();//窗口容器 //设置多选框 JCheckBox jCheckBox1 =.原创 2020-08-19 17:05:18 · 146 阅读 · 0 评论 -
单选框
package window.jbutton;import javax.swing.*;import java.awt.*;//单选框public class JButtonTest02 extends JFrame { public JButtonTest02() { Container contentPane = this.getContentPane();//窗口容器 //单选框的选项 JRadioButton jButton1.原创 2020-08-19 16:51:31 · 187 阅读 · 0 评论 -
图标按钮
package window.jbutton;import javax.swing.*;import java.awt.*;import java.net.URL;//图标按钮public class JButtonTest01 extends JFrame { public JButtonTest01() { Container contentPane = this.getContentPane();//窗口容器 //将图片变成图标 .原创 2020-08-19 16:37:13 · 145 阅读 · 0 评论 -
JPanel JScroll
package window.JPanel;import javax.swing.*;import java.awt.*;public class JPanelDemo extends JFrame { public JPanelDemo() {//构造器 Container contentPane = this.getContentPane();//设置一个窗口的容器 contentPane.setLayout(new GridLayout(2,1,10.原创 2020-08-19 11:12:50 · 196 阅读 · 0 评论 -
简单的图标标签设置
程序一package window.icon;import javax.swing.*;import java.awt.*;//图标是一个接口,需要实现类,继承Framepublic class IconDemo extends JFrame implements Icon {//IconDemo继承JFrame,并且连上接口Icon(图标) private int width;//设保护整数类型width private int height;//设保护整数类型heigh.原创 2020-08-18 14:46:53 · 419 阅读 · 0 评论 -
弹窗弹出方法
程序package window.Dialog;import javax.swing.*;import java.awt.*;import java.awt.event.ActionEvent;//主窗口public class TextDialog extends JFrame {//创建类TextDialog继承JFrame public TextDialog() {//构造器 this.setVisible(true);//显示窗口框架 ...原创 2020-08-14 18:17:14 · 335 阅读 · 0 评论 -
Swing初步了解
程序package window.swing;import javax.swing.*;import java.awt.*;public class TextJframe { public static void main(String[] args) { new MyJframe().init();//实例化和调用init()方法 }}//JFrame为顶级窗口//JFrame 默认了关闭键class MyJframe extends JFram...原创 2020-08-14 17:27:28 · 261 阅读 · 2 评论 -
按键监听器简单使用
程序package window.keyboard;import java.awt.*;import java.awt.event.KeyAdapter;import java.awt.event.KeyEvent;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;public class TestKeyListener { public static void main(String...原创 2020-08-14 16:41:02 · 403 阅读 · 0 评论 -
窗口监听器
程序package window.windowListener;import java.awt.*;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;public class TestWindow { public static void main(String[] args) { new WindowFrame();//实例化WindowFrame }}cl...原创 2020-08-14 14:53:38 · 556 阅读 · 0 评论 -
鼠标监听事件,在画板上画出圆点
思路执行结果程序package window.MouseListener;import java.awt.*;import java.awt.event.MouseAdapter;import java.awt.event.MouseEvent;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;import java.util.ArrayList;import java.util..原创 2020-08-14 13:43:39 · 252 阅读 · 0 评论 -
初步了解Paint,顺便画点东西
程序package window.paint;import java.awt.*;public class TestPaint { public static void main(String[] args) { new MyPaint().loadFrame();//实例化MyPaint,调用方法loadFrame }}class MyPaint extends Frame{ public void loadFrame(){//构造方法 .原创 2020-08-13 16:20:53 · 173 阅读 · 0 评论