自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

鱼机的编程之路

一个会一点java,会一点点javascript的菜鸟程序员

  • 博客(9)
  • 资源 (1)
  • 收藏
  • 关注

原创 JAVA随时笔记(四):常用的排序算法实现

1、冒泡排序 原理: 比较array[n]和array[n+1]的大小,把大的数交换到后面,即array[n]>array[n+1],就交换。循环到数组最后,就可以把最大值找出来,放到array[length-1]上。 第二次循环,把第二大的数交换到array[length-2]上面 循环n-1次就把最大的n-1个数找出来,最小的数就在array[0]处。 为了方便,这里把交换的函...

2018-06-25 14:33:30 172

原创 入坑JAVA多线程并发(八)详解ThreadLocal使用和原理

  ThreadLocal是一个用于存储多线程变量的类,它可以把线程与设置的值对应起来,因为它为变量在每个线程都创建了一个副本。访问的时候每个线程只能访问到自己的副本变量。 实例 看如下代码: public class Main { public static void main(String[] args) throws InterruptedException { ...

2018-06-24 13:36:22 853

原创 入坑JAVA多线程并发(七)volatile到底是什么

多线程中有三个特性: 1、原子性:不可分割的一个操作,类似于数据库的事物。 如下代码: > int a,b; a = 0; //1 b = a; //2 a = a+1; //3 a++; //4 上面4个语句中只有1是原子性操作,语句2:先取得a的值,再赋给b,语句3:取得a的值,再加1,最好赋给a;语句4:取得a的值,加1,再赋给a...

2018-06-24 11:38:50 287

原创 入坑JAVA多线程并发(六)死锁

  在多线程的中,因为要保证线程安全,需要对一些操作进行加锁,但是如果操作不当,会造成死锁,导致程序无法运行下去。   形成死锁的场景:如果有两个线程,线程1和线程2,线程1运行,获得锁A,线程2运行,获得B,线程1等待锁B的释放,线程2等待锁A的释放,互相等待,形成一个死循环 代码如下: public class Main { public static void main(...

2018-06-24 09:48:39 380

原创 Java从入门到放弃(十六)定时器Timer

Timer是java自带的定时器,可以做一些简单的定时任务。 创建对象 Timer timer = new Timer(); //定义定时器的名字 Timer timer1 = new Timer("定时器1"); //第一个参数:定时器名字,第二参数设置是否是守护线程 Timer timer2 = new...

2018-06-10 16:23:33 977

原创 入坑JAVA多线程并发(五)生产者消费者模式

生产者消费者模式对于理解多线程是一个很经典,也很好的例子 资源类: class Resource{ //资源初始化个数 private int init; //资源最大个数 private int Max; public Resource(int init,int Max){ this.init = init; th...

2018-06-09 15:35:58 626

原创 入坑JAVA多线程并发(四)卖火车票了解一下

多线程最常用的两个例子就是:火车票和生产者消费者问题了,本文简单的实现一下卖火车票的例子, 首先创建车票类: class Ticket implements Runnable{ private int num; private int init = 1; private String lock; public Ticket(int num,String ...

2018-06-09 13:08:13 5937

原创 入坑JAVA多线程并发(三)同步锁synchronized

先来一个例子: public class Main { public static void main(String[] args) { ThreadTest test1 = new ThreadTest("线程1"); ThreadTest test2 = new ThreadTest("线程2"); test1.start(); ...

2018-06-09 11:04:40 435

原创 入坑JAVA多线程并发(二)线程的生命周期和常用方法

线程的生命周期大致分为五种状态: 1. 新建: 新建一个线程对象。 2.可运行: 启动线程,调用start方法或者调用线程池的excute方法等,此时线程会进入可运行线程池中,等待获取CPU的时间片。 3.运行 运行状态,也就是获得了CPU的时间片,执行run方法 4.阻塞 阻塞状态,线程因为某种原因让出了CPU的时间片,暂时停止运行。阻塞可能是调用了wait方法,I/O阻...

2018-06-03 23:55:55 575

全国省市区地址数据sql文件

全国各省市区的地址数据,适用于mysql数据库,包括建表语句

2017-10-24

空空如也

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

TA关注的人

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