WisdowsBlog 
  • Home
  • Archives
  • Categories
  • Tags
  • About
  •     

Java多线程

1.串行与并发串行:进程或线程有序进行,一个一个执行. 并发:进程或线程同时进行,不考虑顺序. 2.进程与线程的区别一个进程包含一个或多个线程(至少一个线程),当进程所拥有的线程数为0时,进入销毁状态. 进程间资源不共享,同一个进程下的多个线程间的可以实现资源共享. 3.线程的生命周期生命周期:在程序开发中,将一个对象从被实例化完成,到这个对象使用结束,并销毁的过程. 线程的生命周期:一个线程被实例化完成,到这个线程被销毁的过程. 线程的状态1.新生态: New 一个线程对象被实例化完成,但是还没有做任何操作. 2.就绪态: Ready 一个线程已经被开启,开始争抢CPU时间片. 3.运行态: Run 一个线程抢到了CPU时间片,开始执行这个线程中的逻辑. 4.阻塞态: Interrupt 一个线程在运行的过程中,受到某些操作的影响,放弃了已经获得的CPU时间片,并且不在参与CPU时间片的争取,此时线程处于挂起状态. 5.死亡态: Dead 线程对象被销毁. 线程的生命周期流程图 document.querySelectorAll('.g
 2019-08-13   技术    多线程  Java 

实用Mysql时间sql

MySql语句:今天select * from 表名 where to_days(时间字段名) = to_days(now()); 昨天SELECT * FROM 表名 WHERE TO_DAYS( NOW( ) ) - TO_DAYS( 时间字段名) <= 1 7天SELECT * FROM 表名 where DATE_SUB(CURDATE(), INTERVAL 7 DAY) <= date(时间字段名) 近30天SELECT * FROM 表名 where DATE_SUB(CURDATE(), INTERVAL 30 DAY) <= date(时间字段名) 本月SELECT * FROM 表名 WHERE DATE_FORMAT( 时间字段名, ‘%Y%m’ ) = DATE_FORMAT( CURDATE( ) , ‘%Y%m’ ) 上一月SELECT * FROM 表名 WHERE PERIOD_DIFF( date_format( now( ) , ‘%Y%m’ ) , date_format( 时间字段名, ‘%Y%m’ ) ) =1 查询本季度数据
 2019-08-12   技术    Mysql 

Springboot整合RabbitMp

RabbitMQ即一个消息队列,主要是用来实现应用程序的异步和解耦,同时也能起到消息缓冲,消息分发的作用。 消息中间件在互联网公司的使用中越来越多,刚才还看到新闻阿里将RocketMQ捐献给了apache,当然了今天的主角还是讲RabbitMQ。消息中间件最主要的作用是解耦,中间件最标准的用法是生产者生产消息传送到队列,消费者从队列中拿取消息并处理,生产者不用关心是谁来消费,消费者不用关心谁在生产消息,从而达到解耦的目的。在分布式的系统中,消息队列也会被用在很多其它的方面,比如:分布式事务的支持,RPC的调用等等。 以前一直使用的是ActiveMQ,在实际的生产使用中也出现了一些小问题,在网络查阅了很多的资料后,决定尝试使用RabbitMQ来替换ActiveMQ,RabbitMQ的高可用性、高性能、灵活性等一些特点吸引了我们,查阅了一些资料整理出此文。 RabbitMQ介绍RabbitMQ是实现AMQP(高级消息队列协议)的消息中间件的一种,最初起源于金融系统,用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。RabbitMQ主要是为了实现系统之间的双向解耦而实
 2019-08-10   技术    Java  微服务  Springboot  RabbitMQ 

JDBC食用指南(二):数据库连接池的使用

前言在上一篇文章中我们已经知道了如何简单使用 JDBC 连接数据库,并且设计了一个简单的工具类来方便我们的使用 ,最后介绍了一点 JDBC 事务管理的操作。 这篇文章我们就开始进阶使用我们的 JDBC ,体验数据库连接池技术。...
 2019-08-09   Java  JDBC    Java  JDBC  JDBC数据库连接池 

JDBC食用指南(一):基础入门

前言在使用 Java 连接数据库进行操作时,我们不可避免的要接触到JDBC 这个名字 这次,我们就从头到尾一点点讲述基本的 JDBC 如何使用。...
 2019-08-09   Java  JDBC    JDBC  JDBC事务  JDBC工具类 

Linux命令行样式定制

在使用linux命令行时候,总是难以区分命令和结果的具体界线,不知道当前的路径在哪里,就像下面这样,无形之中降低了我们的效率。但是我们在用git bash的时候不会有这个烦恼,那我们能不能将linux中的界面样式定制一下,变成git bash这样呢?答案是肯定的。 linux命令行界面 git bash 界面 通过查资料发现,要想修改命令行头部显示样式,实际的操作就是覆盖系统本身的 PS1 变量,如下代码所示,在当前用户(这里是root用户)的./bashrc中添加 PS1 的值就可以了 12345678910111213141516[root@VM_72_235_centos ~]# vi .bashrc[root@VM_72_235_centos ~]# cat .bashrc# .bashrc# User specific aliases and functionsalias rm='rm -i'alias cp='cp -i'alias mv='mv -i'# Source global definitionsif [ -f /etc/bashrc ]; then . /e
 2019-08-05   linux    linux  xshell 

Java基础加强:Java注解

前言上篇我们讲述了框架中核心技术 Java 反射 的使用,介绍了它功能的强大之处。 本篇我们讲述另一个框架使用的重要技术,Java 注解...
 2019-08-02   Java    Java  Java 注解 

Java基础加强:Java反射

前言Java 在互联网上的飞速发展和使用,离不开诸如 Spring 、SpringMVC、Mybatis等框架的推出,其极大简化了开发者的精力。 而对于框架,他们底层使用的也是Java代码,通过利用Java 提供的多种特性和技术,简化程序员所需要编写的代码,大大减少了开发时间。 而这篇,就是讲述 Java框架的核心技术之一,Java 反射。...
 2019-08-02   Java    Java  Java 反射 

Java基础加强:Junit单元测试

前言作为一个开发人员,为了编写出优秀的代码,我们要既要懂得在编写时注意各种规范和逻辑,也要懂得如何对代码进行测试。 本篇文章就带领大家体验使用JUnit测试框架来对代码进行测试。...
 2019-08-02   Java    Java  Junit单元测试 

堆栈和队列互相模拟

算法入门1:堆栈和队列互相模拟堆栈模拟队列需要两个堆栈, 一个负责输入, 另一个负责输出 将数据push到输入队列a中 将a中数据pop到输出队列b中 pop出b中数据 ...
 2019-07-30   算法   
1…7891011…28

搜索

Hexo Fluid
 总访问量 次   总访客数 人