1、有些图片后缀虽然是png的,但是实质上是其他的格式。 样例图片 用记事本可以打开看到他真实的格式 2、这种格式ImageIO.read() 读取 图片的时候返回的是null 3、解决办法 只需要增加如下依赖,代码不用动 webp-imageio-core-0.1.0.jar
在实际的开发过程中,会出现一种开发的需求,就是进行bean的拷贝,最笨的方法就是通过get,set来处理。这种方法虽然简单明了,但是会增加很大的代码量。 很多组件提供了bean拷贝的工具 1. Bean Copy原理 对象拷贝技术模式一般分为: 注解处理器技术,是在编译期处理注解
接口防刷 接原文: https://www.fengpt.cn/archives/%E5%8D%9A%E5%AE%A2%E8%AF%84%E8%AE%BA%E6%8E%A5%E5%8F%A3%E8%A2%AB%E6%81%B6%E6%84%8F%E5%88%B7%E8%AF%84
一、docker安装es docker run -it --name elasticsearch -d -p 9200:9200 -p 9300:9300 -p 5601:5601 -e "discovery.type=single-node" docker.elastic.co
1、安装 docker pull mobz/elasticsearch-head:5 docker run -d -p 9100:9100 docker.io/mobz/elasticsearch-head:5 2、访问 在浏览器中打开elasticsearch-head页面,填
一、前言 ELK是三个开源软件的缩写,分别表示:Elasticsearch , Logstash, Kibana , 它们都是开源软件。新增了一个FileBeat,它是一个轻量级的日志收集处理工具(Agent),Filebeat占用资源少,适合于在各个服务器上搜集日志后传输给Lo
一、从容器里面拷文件到宿主机? docker cp 容器名:要拷贝的文件在容器里面的路径 要拷贝到宿主机的相应路径 二、从宿主机拷文件到容器里面 docker cp 要拷贝的文件路径 容器名:要拷贝到容器里面对应的路径
一、环境信息: 操作系统:liunx Docker版本:19.03.5 (其他版本应该类似)、下载docker-compose registry:latest registry-web: hyper/docker-registry-web:latest ip:10.10.10.1
前言: DBA经常性会遇到RD小伙伴询问,为什么我的数据库无法存储emoj的表情?为什么我的数据库都设置成了utf8mb4插入emoj表情还是报错?为什么我的emoj表情插入到数据库里面了,可是显示的是问号? 如: Caused by: java.sql.SQLException
目的 鉴于目前数据库连接数管理混乱,RD申请资源设定连接池没有进行精确考量,造成数据库连接数资源紧张的问题。 在此文档中将详细介绍连接池的由来,作用以及MySQL针对连接的处理,帮助RD能够设定合理的连接数,避免资源浪费和异常发生。 什么是连接池 在系统设计中,我们常常会使用到池
前言 https://db-engines.com/en/ranking 根据这个数据库使用排名,可以看出PostgreSql不断在处于上升的趋势。 自从MySQL被Oracle收购以后,PostgreSQL逐渐成为开源关系型数据库的首选。 基本介绍 官网: https://ww
今天看kafka官网的文档,关于性能方面的讨论时,又提到了磁盘随机读写和顺序读写性能方面的事,借此机会整理一下。 现在的大数据工具一般都会设计为append only的形式,既文件只能追加写,其它的删、改都只能建立在append only的基础上,如删一条数据只能append一个
这个还是挺全面的,所以转载下。 原文链接: https://blog.csdn.net/qq_35387940/java/article/details/100514134 先简单的一个消息推送到接收的流程,提供一个简单的图 黄色的圈圈就是我们的消息推送服务,将消息推送到 中间方
阿里的《Java开发手册》距离上次发布已经过去了 10 个月了,而这次发布也增加了很多干货内容,比如:新增 34 条规约,修改描述 90 处,其中错误码规则更是第一次提出完整的解决方案,发布日志如下图所示: 下载地址: https://fengpt.oss-cn-beijing.
PO 翻译过来就是持久层对象,一般来说数据库中单表一条记录对应一个PO,可以把一个PO转换为其他类型对象。好处是简单。 VO 与页面交互对象,如页面显示以及Excel中导入导出,在控制层这种与视图层中传输,可以隐藏数据库中不想显示的字段显示。 DTO 代表数据传输对象的意思 是一
前言 zdir服务器文件 主要功能:目录浏览 、MarkDown文件预览、CSS/JavaScript一键复制 、查看文件HASH、图片预览、文件索引、显示二维码、文件删除。 KodExplorer可道云,原名芒果云,是基于Web技术的私有云和在线文件管理系统。致力于为用户提供安
前言 Nextcloud 是一个免费专业的私有云存储网盘「开源」项目,可以让你简单快速地在个人/公司电脑、服务器甚至是树莓派等设备上架设一套属于自己或团队专属的云同步网盘,从而实现跨平台跨设备文件同步、共享、版本控制、团队协作等功能。 OnlyOffice是一款强大的在线offi
一、前言 当我们的Web运行的时候,从浏览器发出的请求,必然首先到达tomcat中,之后由tomcat进行处理,由此要考虑tomcat要进行哪些处理,首先便是提供Socket服务,之后对于请求进行分发,把请求和产生的响应封装成request和response (1)提供Socke
一、前言 线上代码出了问题,总是要在本地复现,然后debug,这个过程是在是不太友好,而且线上的很多数据本地没有,经常耽误好久的时间来同步数据. 当然有解决方案,这就是远程调试(Remote debugging)。远程调试使开发人员能够直接诊断服务器或其它线上进程上的问题,它提供
前言: Wiki 是一个协同著作平台或称开放编辑系统。我们可以用Wiki来建设帮助系统,知识库系统。Confluence是一个专业的wiki程序。它是一个知识管理的工具,通过它可以实现团队成员之间的协作和知识共享。Confluence使用简单,但它强大的编辑和站点管理特征能够帮助
一、背景介绍 一般 SpringBoot 的项目依赖 Jar 大小维持在 40MB ~ 160MB。SpringBoot 程序 Jar 包就是这些 Classes 文件和依赖的 Jar 组成,这些依赖 Jar几乎占了这个应用 Jar 包的全部大小。 当我们写一个程序的时候,常常所
1、编写docker-compose.yml文件 version: "3" services: gitlab: image: gitlab/gitlab-ce container_name: gitlab restart: always hostname: '192.168.31
一、编写docker-compse.yml文件 version: '3' services: redis: hostname: redis image: redis:5.0.4 container_name: redis restart: unless-stopped comma
一、docker部署时,权限问题 docker run -itd -p 9090:8080 -p 50000:50000 --name jenkins --privileged=true -v /home/jenkins:/var/jenkins_home jenkins/jen
一、简介 Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。 二、安装 1、环境要求 jdk1.8 mysql 5.6+ 2、首先在
RandomAccessFile类中seek方法可以从指定位置读取文件,可以用来实现文件实时读取。 一、实现步骤: 1.首先,要有服务器上日志文件的路径。 String url="/logpath/logFile.log"; 2.根据路径生成文件对象。 File file = n
一、案例 public static Integer add(Integer a1, Integer b1, Integer c1) { return a1 + b1 + c1; } public static Integer sub(Integer a1, Integer b1
之前我们介绍了Sharding-jdbc的读写分离,这一文,我们实现分表分库。 官方文档地址: https://shardingsphere.apache.org/document/current/cn/overview/ 一、首先创建一个一般的Spring boot项目,加入p
Sharding-JDBC是当当网的一个开源项目,只需引入jar即可轻松实现读写分离与分库分表。 读写分离,简单来说,就是将DML交给主数据库去执行,将更新结果同步至各个从数据库保持主从数据一致,DQL分发给从数据库去查询,从数据库只提供读取查询操作。读写分离特别适用于读多写少的
Kafdrop是Apache Kafka的开源Web UI可视化界面 。 主要功能 查看Kafka代理 -主题和分区分配以及控制器状态 查看主题 -分区数,复制状态和自定义配置 浏览消息 -JSON,纯文本和Avro编码 查看消费者组 -每个分区的停放偏移量,合并延迟和每个分区滞
终于到最后一步了。我们依然采用docker-compose部署。 1、我们修改之前的docker-compose.yml文件 version: '3' services: canal-server: image: canal/canal-server:v1.1.3 contain
历经了前面的各种安装,终于到canal的安装和配置了。这里依然采用docker-compose安装. 1、编写docker-compose.yml文件 version: '3' services: canal-server: image: canal/canal-server:v
因为kafka依赖zookeeper,所以本文来说明下zookeeper和配置。采用docker-compose安装 1、编写docker-compose.yml version: '3' services: zookeeper: image: wurstmeister/zook
kafka安装采用docker-compose安装 1、编写docker-compose.yml version: '3' services: kafka: image: wurstmeister/kafka ## 镜像 volumes: - /etc/localtime:/et
canal是阿里巴巴旗下的一款开源项目,纯Java开发。基于数据库增量日志解析,提供增量数据订阅&消费,目前主要支持了MySQL(也支持mariaDB)。 本文主要说明mysql的相关配置。采用docker-compose部署 1、docker-compose.yml versi
线程池核心代码 package com.app.lock.app; import java.util.concurrent.BlockingQueue; import java.util.concurrent.Executor; import java.util.concurre
一、二叉树 1、例子 2、缺点 当数据是自增顺序的,查找就很慢,和链表一样了 突然发现,链表也是二叉树。。。 二、红黑树 1、例子 可以看出,数据是自增顺序的,他会自己调整,这样查找也是方便。 2、缺点 例如数据量特别大,这样他的树的深度,很深,如果要查找的数据,在最底层叶子节点
一、案例 假设需求为,根据类型,处理相对应的操作,优化前有以下代码: public void operation(String type){ if("add".equals(type)){ //执行加法 }else if("sub".equals(type)){ //执行减法 }
一、案例 public static Integer add(Integer a1, Integer b1, Integer c1) { return a1 + b1 + c1; } public static Integer sub(Integer a1, Integer b1
第一种 <video id="video" controls="controls" preload="none" poster="视频封面"> <source id="mp4" src="视频链接"> </video> 第二种 <iframe height=768 width=1
public class MyHashMap<K,V> { private static final int DEFAULT_CAPTIY=16; private static final float DEFAULT_FACOTR=0.75f; private float loa
package com.app.lock.app; import sun.misc.Unsafe; import java.lang.reflect.Field; public class MyLock { private volatile int state; private
作者:Jay_huaxiao 原文:juejin.im/post/5d214639e51d4550bf1ae8df 1. spring的生命周期 Spring作为当前Java最流行、最强大的轻量级容器框架,了解熟悉spring的生命周期非常有必要; 首先容器启动后,对bean进行
这个问题,我还之前没想过,刚才实验了下... 我们来分析下: 我们知道,在整型运算中,除数是不能为0的,否则直接运行异常。但是在浮点数运算中,引入了无限这个概念,我们来看一下Double和Float中的定义。 Double: public static final double
一、静态代理 Nginx擅长处理静态文件,是非常好的图片、文件服务器。把所有的静态资源的放到nginx上,可以使应用动静分离,性能更好。 二、负载均衡 Nginx通过反向代理可以实现服务的负载均衡,避免了服务器单节点故障,把请求按照一定的策略转发到不同的服务器上,达到负载的效果。
i == i + 1;这个一般来说是返回false吧,一个数字永远不会等于它自己加1,这是正常的思维,但是我们知道无穷大加一还是无穷大。这也验证了上述的小总结。 事实上,你不必将i 初始化为无穷大以确保返回true。任何足够大的浮点数都可以实现这一目的, 代码实验: double
1、new Thread的弊端 执行一个异步任务你还只是如下new Thread吗? new Thread(new Runnable() { @Override public void run() { // TODO Auto-generated method stub } }
在写Java程序的时候,当一个类找不到的时候,JVM有时候会抛出ClassNotFoundException异常,而有时候又会抛出NoClassDefFoundError。看两个异常的字面意思,好像都是类找不到,但是JVM为什么要用两个异常去区分类找不到的情况呢?这个两个异常有什
对于SpringMVC Controller单例和多例,下面举了个例子说明下. 第一次:类是多例,一个普通属性和一个静态属性。 @RestController @Scope(value = "prototype") public class TestController { pr
相关概念 面向对象的三个特征 封装,继承,多态.这个应该是人人皆知.有时候也会加上抽象. 多态的好处 允许不同类对象对同一消息做出响应,即同一消息可以根据发送对象的不同而采用多种不同的行为方式(发送消息就是函数调用).主要有以下优点: 可替换性:多态对已存在代码具有可替换性. 可
一、原因 实际上 ThreadLocalMap 中使用的 key 为 ThreadLocal 的弱引用,弱引用的特点是,如果这个对象只存在弱引用,那么在下一次垃圾回收的时候必然会被清理掉。 所以如果 ThreadLocal 没有被外部强引用的情况下,在垃圾回收的时候会被清理掉的,
1、简介 ThreadLocal是解决线程安全问题一个很好的思路,它通过为每个线程提供一个独立的变量副本解决了变量并发访问的冲突问题。在很多情况下,ThreadLocal比直接使用synchronized同步机制解决线程安全问题更简单,更方便,且结果程序拥有更高的并发性。 Thr
一、概述 Undertow 是红帽公司开发的一款基于 NIO 的高性能 Web 嵌入式服务器 二、特点 轻量级:它是一个 Web 服务器,但不像传统的 Web 服务器有容器概念,它由两个核心 Jar 包组成,加载一个 Web 应用可以小于 10MB 内存 Servlet3.1 支
作者:锦成同学 来源:juejin.im/post/5d31928c51882564c966a71c 1.什么是幂等 在我们编程中常见幂等 1)select查询天然幂等 2)delete删除也是幂等,删除同一个多次效果一样 3)update直接更新某个值的,幂等 4)update
看了一位博友的一篇文章,讲解的是关于java中关于try、catch、finally中一些问题 下面看一个例子(例1),来讲解java里面中try、catch、finally的处理流程 public class TryCatchFinally { @SuppressWarning
1.-Xms:初始堆大小。只要启动,就占用的堆大小。 2.-Xmx:最大堆大小。java.lang.OutOfMemoryError:Java heap这个错误可以通过配置-Xms和-Xmx参数来设置。 3.-Xss:栈大小分配。栈是每个线程私有的区域,通常只有几百K大小,决定了
官方说了 mybatis 的动态sql语句是基于OGNL表达式的。可以方便的在 sql 语句中实现某些逻辑. 总体说来mybatis 动态SQL 语句主要有以下几类: if 语句 (简单的条件判断) choose (when,otherwize) ,相当于java 语言中的 sw
各类无次数限制的免费API接口整理,主要是聚合数据上和API Store上的一些,还有一些其他的。 聚合数据提供30大类,160种以上基础数据API服务,国内最大的基础数据API服务,下面就罗列一些免费的各类API接口。 手机号码归属地API接口: https://www.juh
canal [kə'næl],译意为水道/管道/沟渠,主要用途是基于 MySQL 数据库增量日志解析,提供增量数据订阅和消费 早期阿里巴巴因为杭州和美国双机房部署,存在跨机房同步的业务需求,实现方式主要是基于业务 trigger 获取增量变更。从 2010 年开始,业务逐步尝试数
问题 (1)Unsafe是什么? (2)Unsafe只有CAS的功能吗? (3)Unsafe为什么是不安全的? (4)怎么使用Unsafe? 简介 本章是java并发包专题的第一章,但是第一篇写的却不是java并发包中类,而是java中的魔法类sun.misc.Unsafe。 U
(1)公平锁/非公平锁 公平锁,是指按照线程申请的顺序获取锁。 非公平锁,是指不是按照线程申请的顺序获取锁,有可能后申请的线程反而先获取到锁,假如先来的线程一直获取不到锁,会造成锁饥饿现象。 ReentrantLock中可以通过构造方法指定是否为公平锁,默认为非公平锁,非公平锁的
简介 LinkedHashMap内部维护了一个双向链表,能保证元素按插入的顺序访问,也能以访问顺序访问,可以用来实现LRU缓存策略。 LinkedHashMap可以看成是 LinkedList + HashMap。 继承体系 LinkedHashMap继承HashMap,拥有Ha
1、验证IP地址 /** * 验证IP地址 * * @param 待验证的字符串 * @return 如果是符合格式的字符串,返回 <b>true </b>,否则为 <b>false </b> */ public static boolean isIP(String str) {
1、简单介绍 职责链模式(称责任链模式)将请求的处理对象像一条长链一般组合起来,形成一条对象链。请求并不知道具体执行请求的对象是哪一个,这样就实现了请求与处理对象之间的解耦。 2、主要涉及到的角色 抽象处理者(Handler)角色:抽象处理者用于定义出一个处理请求的接口,如果需要
1、简单介绍 策略模式(Strategy Pattern)属于对象的行为模式。其用意是针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换。策略模式使得算法可以在不影响到客户端的情况下发生变化。 2、策略模式主要由这三个角色组成,环境角色(Conte
1、校验手机号是否正确 public class Main { public static void main(String args[]) { String tel="15800001123"; //第一位1,第二位3或者5或者8,\\d{9}代表0-9出现了9次 String
1、简单介绍 适配器模式将一个类的接口,转换成客户期望的另一个接口。适配器让原来接口不兼容的类可以合作无间。适配器模式有两种:“对象”适配器和“类”适配器。 2、适配器模式组成结构 客户 (Client):客户类。 目标接口(Target):客户所期待的接口。目标可以是具体的或抽
这个问题我已经被坑过了。。。。。 docker日志一般存储在/var/lib/docker/containers/<container_id>下,文件名为<container_id>-json.log,docker中的日志全部由这个文件负责记录,如果业务量大的话,这个文件大小增长
1、简单了解 在对象之间定义了一对多的依赖,这样一来,当一个对象改变状态,依赖它的对象会收到通知并自动更新,成为观察者模式。 观察者模式又称为发布/订阅(Publish/Subscribe)模式。 2、该模式包含四个角色 抽象被观察者角色:也就是一个抽象主题,它把所有对观察者对象
问题 (1)redis如何实现分布式锁? (2)redis分布式锁有哪些优点? (3)redis分布式锁有哪些缺点? (4)redis实现分布式锁有没有现成的轮子可以使用? 简介 Redis(全称:Remote Dictionary Server 远程字典服务)是一个开源的使用A
IPC 三次握手过程 TCP握手协议 在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接. 第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认; SYN:同步序列编号(Synchronize Se
第一次优化过程-从30秒到2秒 第二次优化过程-从2秒到1秒 使用Channel 使用内存映射文件 使用Pipe 案例:有一个需求需要将前端传过来的10张照片,然后后端进行处理以后压缩成一个压缩包通过网络流传输出去。之前没有接触过用Java压缩文件的,所以就直接上网找了一个例子改
RPC 的全称是 Remote Procedure Call 是一种进程间通信方式。它允许程序调用另一个地址空间(通常是共享网络的另一台机器上)的过程或函数,而不用程序员显式编码这个远程调用的细节。 远程调用原理 比如 A (client) 调用 B (server) 提供的方法
实例化对象的时候不再使用 new Object()形式,可以根据用户的选择条件来实例化相关的类。对于客户端来说,去除了具体的类的依赖。只需要给出具体实例的描述给工厂,工厂就会自动返回具体的实例对象 1、定义一个接口: public interface Runner { //行驶
话不多说,直接看代码。 注意我们没用jdk的。 1、首先创建一个代理接口 public interface InvocationHandler { Object invoke(Object proxy, Method method, Object[] args) throws T
简介 ArrayList是一种以数组实现的List,与数组相比,它具有动态扩展的能力,因此也可称之为动态数组。 继承体系 ArrayList实现了List, RandomAccess, Cloneable, java.io.Serializable等接口。 ArrayList实现
MyBatis核心流程 1、读取xml配置文件和注解中的配置信息。 2、构建sqlsessionFactory 3、打开sqlSession 4、获取mapper接口对象,通过SqlSession完成SQL解析,参数的映射,SQL的执行,结果的反射解析过程 这个案例写的不是很完善
代理(Proxy)是一种设计模式,提供了间接对目标对象进行访问的方式;即通过代理对象访问目标对象.这样做的好处是:可以在目标对象实现的功能上,增加额外的功能补充,即扩展目标对象的功能. 一、简单介绍 1、优点:符合了设计模式的开闭原则,即在对既有代码不改动的情况下进行功能的扩展。
简介 HashMap采用key/value存储结构,每个key对应唯一的value,查询和修改的速度都很快,能达到O(1)的平均时间复杂度。它是非线程安全的,且不保证元素存储的顺序。 继承体系 HashMap实现了Cloneable,可以被克隆。 HashMap实现了Serial
何为跳表? 跳表是一个随机化的数据结构,实质就是一种可以进行二分查找的有序链表。 跳表在原有的有序链表上面增加了多级索引,通过索引来实现快速查找。 跳表不仅能提高搜索性能,同时也可以提高插入和删除操作的性能。 跳表详解 有序链表 考虑一个有序链表,我们要查找3、7、17这几个元素
在单例模式中,活动的单例只有一个实例,对单例类的所有实例化得到的都是相同的一个实例。这样就 防止其它对象对自己的实例化,确保所有的对象都访问一个实例。 一、饿汉式静态常量 public class Singleton { //私有构造方法 private Singleton(){
一、安装Jenkins(之后学习) 二、启动Jenkins nohup java -jar jenkins.war --httpPort=8090 > jenkins.log 2>&1 & 三、配置mavan,git,jdk 四、新建一个任务 五、配置 1、 设置项目的源码路径
前言 liunx下安装reids(暂时这里不说了)。 一、单机模式 ./redis-server ../etc/redis.conf 二、主从 1、修改redis.conf文件 # 使得Redis服务器可以跨网络访问 bind 0.0.0.0 # 设置密码 requirepass
1、安装docker,docker-compose。 2、编写docker-compose.yml version: '3' services: owncloud: image: owncloud links: - mysql:mysql volumes: - "/data/db
一、jdk安装 1、安装 wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com
说明: 过滤器:用于属性甄别,对象收集(不可改变过滤对象的属性和行为) 监听器:用于对象监听,行为记录(不可改变监听对象的属性和行为) 拦截器:用于对象拦截,行为干预(可以改变拦截对象的属性和行为)
Git基本常用命令如下: mkdir: XX (创建一个空目录 XX指目录名) pwd: 显示当前目录的路径。 git init 把当前的目录变成可以管理的git仓库,生成隐藏.git文件。 git add XX 把xx文件添加到暂存区去。 git commit –m “XX”
1、Maven库: http://repo2.maven.org/maven2/ 2、Maven依赖查询: http://mvnrepository.com/ 3、一般使用模式 【清理项目】→【编译项目】→【测试项目】→【生成测试报告】→【打包项目】→【部署项目】 4、maven
一、创建mysql文件夹 mkdir mysql 二、进入mysql文件夹,编写 docker-compose.yml文件 version: '3' services: mysql1: environment: MYSQL_ROOT_PASSWORD: "yourpassword
一、cglib和jdk动态代理的区别 jdk动态代理实现了被代理对象的接口,cglib是继承了被代理的对象【通过字节码技术创建这个类的子类,实现动态代理】 都是在运行期间,jdk是直接写class字节码,cglib使用asm框架写字节码,实现更复杂 java动态代理是利用反射机制
1、IDEA一个窗口只能打开一个项目 不像eclipse一个窗口能管理很多项目,IDEA一个窗口只能打开一个Project,一个project下面可以有多个Modules。可以把IDEA里面的Project理解成eclipse里面的workspace,Project里面管理着很多
1、FROM [: ] [AS ]: 设置基础镜像 FROM感觉就是继承的关系 比如你需要在tomcat里运行你的web应用,就可以通过from来继承父镜像在集成自己的应用来扩展镜像。 如果需要多个镜像呢?Docker 17.05版本以后,新增了Dockerfile多阶段构建。所
import java.util.ArrayList; import java.util.List; import java.util.Stack; import org.junit.Test; public class Permutation { public static f
前言 从新开发软件到版本迭代可能会遇到的问题 新版本开发过程中,开发人员的数据库变更如何更准确地反应到提交的文件中。(比如,A 在开发过程中添加了一个忘记写变动脚本的字段) 某些预设的系统配置,没有设置的时候可能会出现错误。 版本迭代的时候,老版本的数据库结构和数据的处理。 一、
作者:至尊宝 cnblogs.com/aspirant/p/5697807.html 在IDF05(Intel Developer Forum 2005)上,Intel首席执行官Craig Barrett就取消4GHz芯片计划一事,半开玩笑当众单膝下跪致歉,给广大软件开发者一个明
Synchronized锁与notify wait实现 public class FruitPlateDemo { private final static String LOCK = "lock"; private int count = 0; private static f
生产者代码 package com.example.demo; import java.util.Random; import java.util.concurrent.BlockingQueue; import java.util.concurrent.TimeUnit; im
package nodelist; public class HeapSort { /** * 堆排序 * @param arr */ public void heapSort(int arr[]){ int length=arr.length; makeMinHeap(arr,
1. 红黑树的定义 红黑树是一颗二叉查找树,且具有如下特性: (1) 每个节点或者是黑色,或者是红色。 (2) 根节点是黑色。 (3) 每个叶子节点是黑色。 [注意:这里叶子节点,是指为空的叶子节点!] (4) 如果一个节点是红色的,则它的子节点必须是黑色的。 (5) 从一个节点
package nodelist; public class QuickSort { public static void main(String[] args) { QuickSort qs = new QuickSort(); int[] arr = new int[] {
1.从社区活跃度 按照目前网络上的资料,RabbitMQ 、activeM 、ZeroMQ 三者中,综合来看,RabbitMQ 是首选。 2.持久化消息比较 ZeroMq 不支持,ActiveMq 和RabbitMq 都支持。持久化消息主要是指我们机器在不可抗力因素等情况下挂掉了
一、概述 二、匹配单个字符 三、匹配一组字符 四、使用元字符 五、重复匹配 六、位置匹配 七、使用子表达式 八、回溯引用 九、前后查找 十、嵌入条件 参考资料 一、概述 正则表达式用于文本内容的查找和替换。 正则表达式内置于其它语言或者软件产品中,它本身不是一种语言或者软件。 正
插入排序:平均时间复杂度:O(n2) public static void insert_sort(int array[],int lenth){ int temp; for(int i=0;i<lenth-1;i++){ for(int j=i+1;j>0;j--){ if(a
冒泡排序:平均时间复杂度:O(n2) public static void BubbleSort1(int [] arr){ int temp;//临时变量 boolean flag;//是否交换的标志 for(int i=0; i<arr.length-1; i++){ //表
《阿里巴巴Java开发手册》是这样规定的: 【强制】禁止使用存储过程,存储过程难以调试和扩展,更没有移植性。 存储过程的缺点: 1.并不是所有开发人员都熟悉怎么使用存储过程,包括像怎么用SQL表示各种复杂逻辑,怎么调试存储过程。 2.SQL是标准的,但存储过程以及控制逻辑,都是各
斐波那契数列 斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21、34、……在数学上,斐
为什么C++是最难掌握的编程语言 1.C 本身问题 C 作为C的加强再加强版,因为兼容C语言,导致掌握这种语言比其他语言有特殊的困难。初学者往往因为刚学了结构化开发方法,忽然又被讲授面向对象开发方法,肯定有一段转不过弯的时间。 C 没有太多保护措施。比如需要自己管理内存,太多的人
一、快速开始 1、加入jar <dependency> <groupId>com.github.kuhn-he</groupId> <artifactId>elastic-job-lite-spring-boot-starter</artifactId> <version>2.1
采用docker-compose部署 1、创建文件夹gogs mkdir gogs 2、进入gogs,编写docker-compose.yml version: '3' services: gogs: container_name: gogs image: docker.io/g
二叉树节点定义 class TreeNode{ public TreeNode(int val) { super(); this.val = val; } public int val; public TreeNode left; public TreeNode right; p
一、采用docker安装 # 拉去soar镜像 docker pull becivells/soar-web # 启动容器 域名:5077 docker run -d --name soar-web -p 5077:5077 becivells/soar-web 二、访问使用
单向快排 public class TemplateProduceApplicationTests { public static void main(String[] args) { Integer[] arr= getRandomArr(10,10,20,false); pr
一、 引入了该包 <!-- spring核心包 --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>${spring.versi
一.安装docker compose(方式一) 1、可以再安装之前先更新一下curl yum update curl 2、下载 sudo curl -L https://github.com/docker/compose/releases/download/1.20.0/dock
一、安装与配置 1.安装依赖包 sudo yum install -y yum-utils device-mapper-persistent-data lvm2 2.设置阿里云镜像源 sudo yum-config-manager --add-repo https://mirro