JDK

pulsar 2.6.0 bouncy-castle-bc-shaded 包跟 bcpkix-jdk 版本冲突 .BouncyCastleProvider

不羁的心 提交于 2020-10-09 04:21:38
pulsar 2.6.0 bouncy-castle-bc-shaded 包跟 bcpkix-jdk 版本冲突 .BouncyCastleProvider <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-hystrix</artifactId> <exclusions> <exclusion> <groupId>org.bouncycastle</groupId> <artifactId>bcpkix-jdk15on</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>com.dominos.common</groupId> <artifactId>dominos-mq</artifactId> <version>0.0.1-SNAPSHOT</version> <exclusions> <exclusion> <groupId>org.apache.pulsar</groupId> <artifactId>bouncy-castle-bc-shaded</artifactId> </exclusion> </exclusions> <

JVM中方法区的变化

不打扰是莪最后的温柔 提交于 2020-10-09 04:20:17
方法区与永久代 提及java内存区域时,我们总会想到堆、栈、方法区等,堆中会分为年轻代和老年代,方法区则往往会与永久代挂钩,那么永久代和方法区到底是什么关系呢?《Java虚拟机规范》只是规定了有方法区这么个概念和它的作用(保存类信息、常量、静态变量、即时编译器编译后的代码等数据),并没有规定如何去实现它。那么,在不同的 JVM 上方法区的实现肯定是不同的了。 同时大多数用的JVM都是Sun公司的HotSpot。在HotSpot上把GC分代收集扩展至方法区,或者说使用永久代来实现方法区。因此,我们得到了结论,永久代是HotSpot的概念,方法区是Java虚拟机规范中的定义,是一种规范,而永久代是一种实现,一个是标准一个是实现。其他的虚拟机实现并没有永久带这一说法。在1.7之前在(JDK1.2 ~ JDK6)的实现中,HotSpot 使用永久代实现方法区,并把 GC分代收集扩展至方法区。我们可以使用如下参数来调节方法区的大小: -XX:PermSize 方法区初始大小 -XX:MaxPermSize 方法区最大大小 超过这个值将会抛出OutOfMemoryError异常:java.lang.OutOfMemoryError: PermGen JDK 1.7 中永久代的变化 上边已经提到,方法区的主要作用是保存类信息(如类名,访问修饰符,字段描述,方法描述等)、常量、静态变量

Tomcat服务器

混江龙づ霸主 提交于 2020-10-09 02:40:19
什么是互联网通信 两台计算机通过网络实现文件共享行为,就是【互联网通信】 互联网通信过程角色划分 客户端计算机 :用于发送请求,来索要资源文件的计算机 服务端计算机 :用于接收请求,并提供对应的资源文件计算机 互联网通信模型 1. C/S通信模型 : C,client software;客户端软件 1)客户端软件专门安装在客户端计算机上 2)帮助客户端计算机向指定服务端计算机发送请求,索要资源文件 3)帮助客户端计算机将服务端计算机发送回来【二进制数据】解析 为【文字,数字,图片,视频,命令】 S,server software;服务器软件 1)服务器软件专门安装在服务端计算机上 2)服务器软件用于接收来自于特定的客户端软件发送请求 3)服务器软件在接收到请求之后自动的在服务端计算机上定位被访问的资源文件 4)服务器软件自动的将定位的文件内容解析为【二进制数据】通过网络发送回 发起请求的客户端软件上 适用场景:C/S通信模型普遍用于个人娱乐市场,比如【微信,淘宝/京东,视频(优酷/B站),大型网络游戏(魔兽/英雄联盟)】 企业办公领域相对应用较少 优缺点: 优点: 1.安全性较高 2.有效降低服务端计算机工作压力 缺点: 1.增加客户获得服务的成本 2.更新较为繁琐 2. B/S通信模型 : B:browser,浏览器 1)浏览器安装在客户端计算机软件 2)可以向任意服务器发送请求

1.java基础回顾常用类

人走茶凉 提交于 2020-10-09 02:31:29
一.java.lang包中的类不需要导包 1.特点:   java.lang包是java语言的核心,它提供了java中的基础类。包括基本Object类、Class类、String类、基本类型的包装类、基本的数学类等等最基本的类。 2. 8种基本类型初始化默认值: 注:char类型初始化默认值为null(也就是'\u0000') Java中8种基本数据类型总结 序号 数据类型 大小/位 封装类 默认值 可表示数据范围 1 byte(位) 8 Byte 0 -128~127 2 short(短整数) 16 Short 0 -32768~32767 3 int(整数) 32 Integer 0 -2147483648~2147483647 4 long(长整数) 64 Long 0 -9223372036854775808~9223372036854775807 5 float(单精度) 32 Float 0.0 1.4E-45~3.4028235E38 6 double(双精度) 64 Double 0.0 4.9E-324~1.7976931348623157E308 7 char(字符) 16 Character 空 0~65535 8 boolean 8 Boolean flase true或false 3.其它类型默认值都是null 二.java类的使用 0. Object类:

jenkins+gitee 实现自动化部署项目到centos上(待续)

孤者浪人 提交于 2020-10-09 00:28:30
一 原理图 二 环境部署说明 服务器 部署说明 IP 开发机器 IDEA,部署在Windows上。 版本控制服务器 源码在码云上部署。 码云服务器 jenkins服务器 jekins自动化部署服务器,部署在windows上。 应用服务器 部署在Linux虚拟机上。 三 Jenkins基本配置 1 Configure System (系统设置) 在系统设置这里,我们只需要设置最后面的一项,配置远程服务器地址。 即我们代码最终运行的服务器地址信息,就像我们之前手动部署时使用xshell登录Linux服务器一样。 配置完成后点击保存即可,为后面我们配置自动化部署做准备,配置如下图: 2 Configure Global Security (全局安全配置) a 配置安全域 b 配置授权策略 3 Global Tool Configuration (全局工具配置 ) a 配置maven的全局settings路径 b 配置jdk c 配置git d 配置maven的安装路径 4.配置必要插件 确保下面3个插件都安装了。 gitee Publish over SSH Deploy to container Plugin 四 Jenkins服务器上创建项目和配置 1 新建工程 2 General(基础配置) 3 源码管理 4 构建触发器 5 构建环境(无需配置) 6 构建 7 构建后操作 a

java中的各种锁详细介绍

浪尽此生 提交于 2020-10-09 00:27:42
转自: https://blog.csdn.net/axiaoboge/article/details/84335452 Java提供了种类丰富的锁,每种锁因其特性的不同,在适当的场景下能够展现出非常高的效率。本文旨在对锁相关源码(本文中的源码来自JDK 8)、使用场景进行举例,为读者介绍主流锁的知识点,以及不同的锁的适用场景。 Java中往往是按照是否含有某一特性来定义锁,我们通过特性将锁进行分组归类,再使用对比的方式进行介绍,帮助大家更快捷的理解相关知识。下面给出本文内容的总体分类目录: 1. 乐观锁 VS 悲观锁 乐观锁与悲观锁是一种广义上的概念,体现了看待线程同步的不同角度。在Java和数据库中都有此概念对应的实际应用。 先说概念。对于同一个数据的并发操作,悲观锁认为自己在使用数据的时候一定有别的线程来修改数据,因此在获取数据的时候会先加锁,确保数据不会被别的线程修改。Java中,synchronized关键字和Lock的实现类都是悲观锁。 而乐观锁认为自己在使用数据时不会有别的线程修改数据,所以不会添加锁,只是在更新数据的时候去判断之前有没有别的线程更新了这个数据。如果这个数据没有被更新,当前线程将自己修改的数据成功写入。如果数据已经被其他线程更新,则根据不同的实现方式执行不同的操作(例如报错或者自动重试)。 乐观锁在Java中是通过使用无锁编程来实现

不看就亏系列!这里有完整的 Hadoop 集群搭建教程,和最易懂的 Hadoop 概念!| 附代码

帅比萌擦擦* 提交于 2020-10-08 09:25:41
不看就亏系列!这里有完整的 Hadoop 集群搭建教程,和最易懂的 Hadoop 概念!| 附代码 Hadoop介绍 Hadoop 是 Lucene 创始人 Doug Cutting,根据 Google 的相关内容山寨出来的分布式文件系统和对海量数据进行分析计算的基础框架系统,其中包含 MapReduce 程序,hdfs 系统等![它受到最先由 Google Lab 开发的 Map/Reduce 和 Google File System(GFS) 的启发。] Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求,可以以流的形式访问(streaming access)文件系统中的数据。 Hadoop的框架最核心的设计:HDFS 和mapreduce HDFS:为海量数据提供存储 MapReduce: 为海量数据提供了计算cluster:集群 LB:负载均衡 LVS SLB HAPROXY,nginx HA:高可用 MHA,keepalived,hearebeat

谈谈java中的并发(一)

|▌冷眼眸甩不掉的悲伤 提交于 2020-10-08 09:01:06
一.并发的定义 并发:对于这个概念一直就是没怎么搞懂,就是感觉特别的生疏,(自己从从字面上理解就是多个东西,一起出发),所以就上网上查了一些资料: 同时拥有两个或多个线程,如果程序在单核处理器上运行,多个线程将交替地换入或者换出内存,这些线程是同时“存在”的,每个线程都处于执行过程中的某个状态,如果运行在多核处理器上,此时,程序中的每个线程都将分配到一个处理器核上,因此可以同时运行。 高并发(High Concurrency): 是互联网分布式系统架构设计中必须考虑的因素之一,它通常是指,通过设计保证系统能够同时并行处理很多请求。 两者区别: 并发:多个线程操作相同的资源,保证线程安全,合理使用资源。 高并发(High Concurrency):服务能同时处理很多请求,提高程序性能 二.线程的定义 1.线程(英语:thread)是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。在Unix System V及SunOS中也被称为轻量进程(lightweight processes),但轻量进程更多指内核线程(kernel thread),而把用户线程(user thread)称为线程。 在网上查资料线程是这么定义的,其实说简单点

面试官:连Spring AOP都说不明白,自己走还是我送你?

浪尽此生 提交于 2020-10-08 08:33:36
前言 因为假期原因,有一段时间没给大家更新了!和大家说个事吧,放假的时候一位粉丝和我说了下自己的被虐经历,在假期前他去某互联网公司面试,结果直接被人家面试官Spring AOP三连问给问的一脸懵逼!其实我觉着吧,这玩意不是挺简单的吗? 大家在学习 AOP 之前,如果清楚代理模式的话,则学习起来非常轻松,接下来就由我为大家介绍 AOP 这个重要的知识点! 代理模式 代理模式在 Java 开发中是一种比较常见的设计模式。设计目的旨在为服务类与客户类之间插入其他功能,插入的功能对于调用者是透明的,起到伪装控制的作用。如租房的例子:房客、中介、房东。对应于代理模式中即:客户类、代理类 、委托类(被代理类)。 为某一个对象(委托类)提供一个代理(代理类),用来控制对这个对象的访问。委托类和代理类有一个共同的父类或父接口。代理类会对请求做预处理、过滤,将请求分配给指定对象。 生活中常见的代理情况: 租房中介、婚庆公司等 代理模式的两个设计原则: 代理类与委托类具有相似的行为(共同) 代理类增强委托类的行为 常用的代理模式: 静态代理 动态代理 静态代理 某个对象提供一个代理,代理角色固定,以控制对这个对象的访问。 代理类和委托类有共同的父类或父接口,这样在任何使用委托类对象的地方都可以用代理对象替代。代理类负责请求的预处理、过滤、将请求分派给委托类处理、以及委托类执行完请求后的后续处理。

一文带你了解阿里云Linux服务器的基本操作

一笑奈何 提交于 2020-10-08 08:10:12
1.开启安全组 1.1 开启安全组 1.2 获取公网IP,更改密码(第一次需要重启) 2.使用面板搭建环境 2.1 搭建环境 1、宝塔: 地址: https://www.bt.cn/download/linux.html 2、安全组开放端口 3、执行命令 yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh 一路y即可 3.使用命令行搭建环境 3.1 命令行操作 1、准备工作,开放端口 阿里云控制台打开端口 2、下载软件 Xshell 和 Xftp安装及使用 https://blog.csdn.net/qq_44895397/article/details/107677573 下载即使用: https://www.yuque.com/docs/share/42e4002d-1a9c-43d0-91fa-107d07ec61ee ?# 4.安装jdk、tomcat、Docker 1、上传提前下载的JDK和tomcat压缩包 2、rmp安装jdk 资源上传 检查环境 java -version 如果默认已经安装需要卸载: ⾸先查找已经安装的 OpenJDK 包: rpm -qa | grep java 接下来可以将 java