boot

spring boot 不占用端口方式启动

陌路散爱 提交于 2019-12-02 18:18:50
随着微服务架构的流行,想要启动一个微服务架构项目就要开启好多端口,有时候一台机器上部署的项目多的时候,端口资源就比较紧张了,其实有的微服务组件仅仅只是提供RPC服务,可以不用占用web启动的端口,此时spring boot 不占用web端口的方式就派上用场了,但是spring boot 1.x与spring boot 2.x的配置是有区别的,在使用时一定要注意一下自己所使用的版本 spirngboot 2.x之前(代码方式实现): 1 @SpringBootApplication 2 public class Application { 3 4 public static void main(String[] args) { 5 new SpringApplicationBuilder().sources(Application.class).web(false).run(args); 6 } 7 } spinrboot 2.x之前(另外一种代码实现方式) 1 @Configuration 2 @EnableAutoConfiguration 3 public class MyClass{ 4 public static void main(String[] args) throws JAXBException { 5 SpringApplication app = new

网易暴力裁员?!寒冬凛冽,我依靠这八大专题面试文档,收获蚂蚁金服、字节跳动等一线大厂的offer

孤者浪人 提交于 2019-12-02 18:12:05
互联网的寒冬早已开始, 整个行业出现这样一种奇怪的场面: 企业里一方面加快更新换代,加大内部竞争的压力以提高效率; 另一方面疯狂招人,对稀缺性人才依然保持了极高的需求 。 想必大家已经有了切身的感受,公司内部晋升要求变高、名额变少,外部机会的要求也水涨船高,并且限制涨幅、职级等。 国外也是如此: Facebook、微软、谷歌不时有高管离职的消息传来。 就目前大环境来看,跳槽成功的难度比往年高很多。一个明显的感受:今年的面试,无论一面还是二面,都很考验Java程序员的技术功底。 整理的这些架构技术希望对Java开发的朋友们有所参考以及少走弯路,本文的重点是你有没有收获与成长,其余的都不重要,希望读者们能谨记这一点! 注意!:需要小编整理的Java基础+数据库+SSM框架+Redis+消息队列+Spring Boot+Spring Cloud等七类面试题及答案、学习笔记、Xmind思维导图的朋友可以点击下方传送门即可免费获取 我收集的面试题及答案整理:Java基础,Jvm,Redis,Mysql,Zookeeper,Tomcat,Docker,Nginx等 一、Java基础 面向对象的特征有哪些方面? 【基础】 int 和Integer 有什么区别? 【基础】 Math.round(11.5) 等于多少? Math.round(-11.5)等于多少? 【基础】 编程题:

运维自动化之系统部署

主宰稳场 提交于 2019-12-02 17:06:36
运维自动化发展历程及技术应用 什么是自动化的安装部署操作系统? 在工作中我们可能经常部署很多台主机,手工的一台一台的安装只适合主机非常少的情况,但大的互联网公司在一些特殊的日子要部署大量的主机,以应对要到来的特大流量访问。这时候我们就不能,一台一台的安装主机了,一是效率太慢,二是太累,三是费时间。基于这个情况我们可以自动化的一起部署很多的主机,而不用我们人工一台一台的去安装部署,节约了大量的时间。 centos 6的启动流程 1.POST开机加电自检 2.MBR 读取硬盘mbr引导的前446字节,属于grub的stage1第一阶段 3.进入grub的stage1.5阶段,加载/boot分区所在的文件系统驱动 4.进入grub的stage2阶段,关键的文件已经在/boot/grub目录里面了,关键的文件 有/boot/grub.grub.conf文件,文件里面kernel /vmlinuz root=/dev/sda2,定义了内核文件所在的位置 5.加载vmlinuz内核,完成以后找/根目录,想要加载根文件系统,需要识别根所在的文件系统驱动,配合/boot/目录里面两个重要的文件,一个是vmlinuz内核文件和initramfs驱动文件完成加载根文件系统 6.加载完成根文件系统以后,启动根下面的第一个进程/sbin/init,这个进程要读取/etc/inittab配置文件

一次spring boot web服务响应缓慢的排查

家住魔仙堡 提交于 2019-12-02 16:24:17
  使用spring boot搭建了一个web服务,部署在docker容器中。使用中出现了一个性能问题:多次接口请求中,偶尔会出现一次响应非常慢的情况。正常情况下接口的响应时间在10-20ms,偶尔会出现一次3s以上的响应。下面是自己的一个排查过程   1、验证本地开发环境。   首先考虑的是在本地开发环境中找出问题所在。经过测试,本地并未出现这个问题。   2、数据库优化。   考虑到本地开发环境和部署的版本使用的数据库不同。通过建立索引,查询优化等方案,对数据库的查询进行了优化。然而问题依旧。   3、添加详细日志,定位问题   首先考虑的是业务代码可能存在问题,通过分析日志,发现响应慢的并不是业务代码,而是spring boot框架中的代码。主要耗时在过滤器和拦截器中。   4、添加gc日志   考虑可能由于过一段时间会出现一次gc,接口也是偶尔出现一次响应慢的情况,猜测两者可能有关系。通过日志发现,响应慢的时候并不一定出现gc,并且每次gc的时间都很短,在ms级别。   5、更换servlet容器   spring boot内置了多个servlet容器,默认使用的是tomcat。从上面日志定位的情况来看,servlet容器可能是主要原因。把tomcat换成undertow之后,问题得以解决,响应时间都固定在10-20ms范围。   6、为什么tomcat会出现这个问题

spring boot 多模块项目打包运行显示 nested exception is java.io.FileNotFoundException

不羁的心 提交于 2019-12-02 15:52:53
如果你的项目是SpringBoot 多模块项目,并且项目调试阶段可以运行。用Maven package 打包以后,java -jar ****.jar 就提示。 好好看一下这个答案,也许解决方案就在这里。 https://segmentfault.com/a/1190000019706787 具体原因看上面的链接。如果哪天链接失效了。解决方案在下面。pom 文件里面 添加下面的代码。重点在“ < classifier>exec </ classifier> ” 这句 <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <classifier>exec</classifier> </configuration> </plugin> </plugins> </build> org.springframework.beans.factory.BeanDefinitionStoreException: Failed to parse configuration class [com.liuyu7177.SgPcWebApplication]; nested

我掏空了各大搜索引擎,给你整理了154道Java面试题!

久未见 提交于 2019-12-02 15:50:20
转自: https://mp.weixin.qq.com/s?__biz=MzA4NjgxMjQ5Mg==&mid=2665762822&idx=1&sn=8f5f0cc4a678c184b78088590ceea1ef&chksm=84d20225b3a58b3383e9b3bf07ee8649c6872d133f2ef3b2aaf9d681a7a9df22f0df3d81203b&token=123684230&lang=zh_CN#rd Java集合22题 ArrayList 和 Vector 的区别。 说说 ArrayList,Vector, LinkedList 的存储性能和特性。 快速失败 (fail-fast) 和安全失败 (fail-safe) 的区别是什么? hashmap 的数据结构。 HashMap 的工作原理是什么? Hashmap 什么时候进行扩容呢? List、Map、Set 三个接口,存取元素时,各有什么特点? Set 里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用 == 还是 equals()? 它们有何区别? 两个对象值相同 (x.equals(y) == true),但却可有不同的 hash code,这句话对不对? heap 和 stack 有什么区别。 Java 集合类框架的基本接口有哪些? HashSet 和 TreeSet

The difference between initrd and initramfs?

天涯浪子 提交于 2019-12-02 15:39:42
As far as I know, initrd acts as a block device, thus requiring a filesystem driver (such as ext2 ). The kernel must have at least one built-in module for detecting filesystem of initrd . In this article, Introducing initramfs, a new model for initial RAM disks , it is written that: But ramdisks actually waste even more memory due to caching. Linux is designed to cache all files and directory entries read from or written to block devices, so Linux copies data to and from the ramdisk into the "page cache" (for file data), and the "dentry cache" (for directory entries). The downside of the

weblogic启动服务器Authentication denied: Boot identity not valid

你说的曾经没有我的故事 提交于 2019-12-02 15:36:44
新分配的测试服务器,已经安装好了weblogic,使用命令nohub ./startWeblogic.sh启动weblogic没有问题 登录控制台,点击环境-服务器-新建,一步步完成后,点击部署、选择路径、选择服务器,使用脚本启动该新建的节点服务器 报如下错误,新接手的服务器,第一次启动自己创建的节点服务器,在这之前不知道做过什么操作 weblogic.security.SecurityInitializationException:Authentication denied: Boot identity not valid.The user name or password or both from the boot identity file (boot.properties) is not valid. The bootidentity may have bean changed since the boot identity file was created. Please edit and update the identity file with the proper values of username amd password. The first time the update boot identity file is used to start the

SpringBoot Admin 使用指南

折月煮酒 提交于 2019-12-02 15:30:44
说明 Spring Boot Admin 是一个管理和监控你的 Spring Boot 应用程序的应用程序。 这些应用程序通过 Spring Boot Admin Client(通过 HTTP)注册或者使用 Spring Cloud(例如 Eureka)发现。 UI只是 Spring Boot Actuator 端点上的一个 AngularJs 应用程序。 创建服务 创建spring boot 项目,引入依赖 <dependency> <groupId>de.codecentric</groupId> <artifactId>spring-boot-admin-server</artifactId> <version>1.5.6</version> </dependency> <dependency> <groupId>de.codecentric</groupId> <artifactId>spring-boot-admin-server-ui</artifactId> <version>1.5.6</version> </dependency> 启动类中引入注解 @EnableAdminServer ,然后运行项目: 创建客户端 随便创建个spring boot 项目,引入依赖。 <dependency> <groupId>de.codecentric</groupId>

安装Windows和Ubuntu双系统

元气小坏坏 提交于 2019-12-02 15:19:25
发现 关注 消息 安装Windows和Ubuntu双系统 安装Windows和Ubuntu双系统 0.552016.12.10 15:54:41字数 2101阅读 6644 这几天开始动手做毕设啦,打算好好过把Linux瘾,接下来便是这两天我在联想电脑上安装Windows10和Ubuntu16.04双系统的过程。 一、安装方式 一般在Windows下体验Linux的方式有三种: 1、使用虚拟机:使用VMware、VirtualBox等虚拟机,在虚拟机上安装Linux Ubuntu, 这样做的优点是简单安全,在虚拟机上捣鼓Linux不用担心会搞崩溃原有的Windows系统,不用担心硬件问题,缺点就是用户体验太差,感觉像是在隔靴挠痒,毕竟我前几次使用VMware上Linux的时候都觉得十分乏味,一个分心就切换回了Windows刷个网页、聊个QQ什么的~ 2、Wubi安装:这种方式我没有试过,据说是Ubuntu为微软推出的桌面安装方案,适合新手,但是我想既然都要折腾了,倒不如痛痛快快地来和Linux经历一场类似于当年你首次安装Windows系统那样的U盘(硬盘)启动、划分分区的体验呢。 3、U盘安装:Windows与Ubuntu共存,正牌双系统~ 二、准备材料 1、Ubuntu 16.04的ISO文件 2、UltraISO 3、U盘一个(至少2G) 关于Ubuntu的版本: LTS版