java
陨落xyp
这个作者很懒,什么都没留下…
展开
-
Linux crontab处理定时任务-------执行java程序
Linux crontab处理定时任务——-执行java程序前提linux服务器必须是安装好jdk什么是crontab?crontab命令常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行。该词来源于希腊语chronos(χρνο),原意是时间。常,crontab储存的指令被守护进程激原创 2015-12-29 12:06:26 · 4077 阅读 · 0 评论 -
java垃圾回收算法及收集器
java内存回收算法及收集器java目前常用有4中回收算法,7种垃圾回收器。为什么要进行垃圾回收?如果不进行垃圾回收,jvm就无法给新创建的对象分配对象了,系统无法长时间运行,如果不进行垃圾回收,我们的java服务将每隔一段时间就需要重启一次?这样你能接受吗?什么时候进行垃圾回收?在无法分配内存的时候进行垃圾回收,已目前普遍使用的分代回收方法为例,在Eden区无法为创建新的区域给...原创 2019-03-12 13:40:34 · 359 阅读 · 0 评论 -
spring boot 发送kafka消息队列
在工作中碰到问题,需要通过springboot想kafka发送消息,但是之前没有发送过,因此尝试发送一下试试,给大家做一个参考。1 、准备kafka消息队列address:...:9092topic:test2 、jar包引用 <dependency> <groupId>org.apache.kafka</groupId> <artifa原创 2017-06-23 11:24:31 · 3389 阅读 · 0 评论 -
SpringBoot中如何监听两个不同源的RabbitMQ消息队列
spring-boot如何配置监听两个不同的RabbitMQ由于前段时间在公司开发过程中碰到了一个问题,需要同时监听两个不同的rabbitMq,但是之前没有同时监听两个RabbitMq的情况,因此在同事的帮助下,成功实现了监听多个MQ。下面我给大家一步一步讲解下,也为自己做个笔记;详细步骤:1. application.properties 文件配置:” u.rabbitmq.addresses=原创 2017-01-19 17:43:56 · 13863 阅读 · 4 评论 -
设计模式--Builder模式
Buider模式的优势:保证像重叠构造器模式那样的安全性。javaBeans模式的可读性。能够适应不同参数的构造。重叠构造器实现:public class Person { private String name; private int sex; public Person(String name) { this.name = name; }原创 2016-11-10 14:29:47 · 232 阅读 · 0 评论 -
spring-boot 初学一
spring boot 学习由于工作原因开始使用spring-boot这个框架,spring-boot与spring比较之下能够非常快速的搭建项目并进行开发。下面是我开始简历的一个简单Demo:spring-boot-demo1、创建maven项目,并修改pom.xml文件`2、在代码中新建Main执行的类 Application.java`package com.hhp; import org.原创 2016-04-25 19:42:35 · 268 阅读 · 0 评论 -
多线程开发之减少竞争
优化多线程优化线程多线程程序时,我们可以通过减少竞争的方式来优化多线程程序的运行。发生锁竞争的主要原因1、锁的请求频率2、持有锁的时间过长如果两者的乘积很小,那么大多数获取锁的操作都不会发生竞争。对可升缩性不会造成影响。如果锁的请求量很频繁,持有锁的时间一旦较长,其他线程进入线程阻塞等待获取锁,会有大量的任务等待完成。在极端情况下会出现大量工作等待完成而处理器闲置的情况。优化方法有三种减少线程竞争原创 2016-01-19 14:01:48 · 1155 阅读 · 0 评论 -
Mybatis自动代码生成插件MybatisGenerator使用
Mybatis自动代码生成插件MybatisGenerator使用MybatisGenerator介绍MyBatis Generator (MBG) 是一个Mybatis的代码生成器 MyBatis 和 iBATIS. 他可以生成Mybatis各个版本的代码,和iBATIS 2.2.0版本以后的代码。 他可以内省数据库的表(或多个表)然后生成可以用来访问(多个)表的基础对象。 这样和数据库表进行交互原创 2015-12-24 09:13:34 · 1003 阅读 · 0 评论 -
多线程开发之线程的超时
今天在上班的时候,同事突然遇到一个问题,就是他写的一个线程池,里面执行的线程没办法超时,因此导致程序在一直等待执行。但是对很多程序来说,如果一个线程如果运行时间太长的话,最好能够抛弃掉,但是一般的线程并没有超时设置。对于这个问题我想到通过Future与Callable来实现这个功能Future与Callable接口Callable接口类似于Runnable,从名字就可以看出来了,但是Runnabl原创 2016-01-20 21:29:09 · 1993 阅读 · 0 评论 -
多线程开发之Semaphore
Semaphore介绍Semaphore是java并发编程中出现的一个工具,其具体的作用是用来控制java中对资源的使用。比如我们常用的数据库连接,加入我们希望能够限制同一时间持有数据库连接的数量,我们就可以使用到Semaphore这个工具。Semaphore介绍信号量的特性如下:信号量是一个非负整数(车位数),所有通过它的线程(车辆)都会将该整数减一(通过它当然是为了使用资源),当该整数值为零时原创 2016-01-18 21:51:19 · 575 阅读 · 0 评论 -
线程池浅析
线程池的种类ThreadPoolExector 自定义线程池参数ThreadPoolExector的参数参数名称说明其他核心线程数线程池核心线程数量,核心线程不会被回收,即使没有任务执行,也会保持空闲状态最大线程数池允许最大的线程数,当线程数量达到corePoolSize,且workQueue队列塞满任务了之后,继续创建线程。“Isn’t this fu...原创 2019-05-05 17:44:26 · 167 阅读 · 1 评论