自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 收藏
  • 关注

原创 Java开发必须掌握的 20+ 种 Spring 常用注解(建议收藏)

注解本身没有功能的,就和xml一样。注解和xml都是一种元数据,元数据即解释数据的数据,这就是所谓配置。本文主要罗列Spring|SpringMVC相关注解的简介。Spring部分1.声明bean的注解@Component 组件,没有明确的角色 @Service 在业务逻辑层使用(service层) @Repository 在数据访问层使用(dao层) @Controller 在展现层使用,控制器的声明(C)2.注入bean的注解@Autowired:由Spring提供 @In

2020-07-13 10:59:09 156

原创 一位Java程序员的自学之路

其实求学的道路是很苦的,尤其是自学之路,但是艰辛并不代表不会成功,首先你得有个大致的方向,然后你也可以去网上找找关于Java全集的视频资料学习,但是有些时候你会碰到的有些知识点就不太懂,学习时间的话还是得看你自己的学习能力强不强了,个人还是建议你花一些时间去专心学习Java的,现在小编这里有一份关于Java的学习路线图,希望能够给予现在正在自学的小伙伴们一个好的指导作用。在介绍这篇文章之前,先给大家介绍一下,我是一名Java开发的程序员,在此我跟大家说一下,我从今年开始就一直在做一个Java学习的分享,

2020-07-11 21:07:44 272

原创 一文详解Kafka集群环境搭建,消息存储机制

一、Kafka集群环境1、环境版本版本:kafka2.11,zookeeper3.4注意:这里zookeeper3.4也是基于集群模式部署。2、解压重命名tar -zxvf kafka_2.11-0.11.0.0.tgzmv kafka_2.11-0.11.0.0 kafka2.11创建日志目录[root@en-master kafka2.11]# mkdir logs注意:以上操作需要同步到集群下其他服务上。3、添加环境变量vim /etc/profile

2020-07-11 17:29:43 179

原创 Java知识总结--SE篇

1-1-什么是Java的跨平台原理Java通过不同的系统,不同的版本不同的位数的Java虚拟机(JVM)来屏蔽不同的指令集,然后对外提供了统一的Java接口(API),这样,我们的开发者只需按照接口开发即可,如果系统需要部署在不同的环境是,只需要系统上面按照片对应版本的虚拟机即可想要了解更多Java架构技术的,可以关注我一下,我后续也会整理更多关于架构技术这一块的知识点分享出来,里面会分享一些:spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化

2020-07-11 10:38:15 157 1

原创 JAVA 爬虫框JAVA 爬虫框架webmagic 初步使用Demo架webmagic 初步使用Demo

一想到做爬虫大家第一个想到的语言一定是python,毕竟python比方便,而且最近也非常的火爆,但是python有一个全局锁的概念新能有瓶颈,所以用java还是比较牛逼的,各类JAVA爬虫框架Python中大的爬虫框架有scrapy(风格类似django),pyspider(国产python爬虫框架)。 除了Python,Java中也有许多爬虫框架。nutchapache下的开源爬虫程序,功能丰富,文档完整,有数据抓取解析以及存储的模块。 它的特点是规模大。heritrix比较成.

2020-07-10 21:02:24 202 1

原创 Java性能优化:教你提高代码运行的效率

我认为,代码优化的最重要的作用应该是:避免未知的错误。在代码上线运行的过程中,往往会出现很多我们意想不到的错误,因为线上环境和开发环境是非常不同的,错误定位到最后往往是一个非常小的原因。然而为了解决这个错误,我们需要先自验证、再打包出待替换的class文件、暂停业务并重启,对于一个成熟的项目而言,最后一条其实影响是非常大的,这意味着这段时间用户无法访问应用。因此,在写代码的时候,从源头开始注意各种细节,权衡并使用最优的选择,将会很大程度上避免出现未知的错误,从长远看也极大的降低了工作量。如果想学习J

2020-07-10 11:12:40 274 1

原创 分布式事务还不理解?这一篇带你走进它的世界

这篇文章将介绍什么是分布式事务,分布式事务解决什么问题,对分布式事务实现的难点,解决思路,不同场景下方案的选择,通过图解的方式进行梳理、总结和比较。相信耐心看完这篇文章,谈到分布式事务,不再只是有“2PC”、“3PC”、“MQ的消息事务”、“最终一致性”、“TCC”等这些知识碎片,而是能够将知识连成一片,形成知识体系。想要了解更多Java架构技术的,可以关注我一下,我整理了更多关于架构技术这一块的知识点分享出来,里面会分享一些:spring,MyBatis,Netty源码分析,高并发、高性能、分布式

2020-07-09 21:23:46 242 1

原创 Spring Boot 中三种跨域场景总结

跨域这个问题我之前写过文章,但是最近收到小伙伴们的一些问题,让我发现之前的总结不够全面,因此打算再写一篇文章,来和大家分享一下 Spring Boot 中的跨域问题。这次我把 Spring Boot 中的跨域问题分为了三个场景:普通跨域 Spring Security 跨域 OAuth2 跨域分为三种并非多此一举,主要是因为这三种场景的配置都不太一样,而这三种场景又都是非常常见的场景,所以这里和大家再来专门分享下。想要了解更多Java架构技术的,可以关注我一下,我后续也会整理更多关于.

2020-07-09 20:35:31 225

原创 Java性能优化必知的50个细节(珍藏版):Jvm调优+MySQL+Tomcat

在JAVA程序中,性能问题的大部分原因并不在于JAVA语言,而是程序本身。养成良好的编码习惯非常重要,能够显著地提升程序性能。文末有整理好的相关资料文件,可以免费获取。性能优化的50个细节1. 尽量在合适的场合使用单例使用单例可以减轻加载的负担,缩短加载的时间,提高加载的效率,但并不是所有地方都适用于单例,简单来说,单例主要适用于以下三个方面:第一,控制资源的使用,通过线程同步来控制资源的并发访问;第二,控制实例的产生,以达到节约资源的目的;第三,控制数据共享,在不建立直接关联的条

2020-07-09 14:16:51 167

原创 细谈八种架构设计模式机器优缺点概述

一、什么是架构我想这个问题,十个人回答得有十一个答案,因为另外的那一个是大家妥协的结果。哈哈,我理解,架构就是骨架,如下图所示:人类的身体的支撑是主要由骨架来承担的,然后是其上的肌肉、神经、皮肤。架构对于软件的重要性不亚于骨架对人类身体的重要性。架构文档si我领取哦二、. 什么是设计模式这个问题我问过的面试者不下于数十次,回答五花八门,在我看来,模式就是经验,设计模式就是设计经验,有了这些经验,我们就能在特定情况下使用特定的设计、组合设计,这样可以大大节省我们的设计时间,提高工作效率。 作为一个

2020-07-08 17:42:28 252

原创 Spring中频繁使用的依赖注入方式,官方不推荐,我们一直在误用?

你的Spring项目中使用的是哪种注入方式? (单选)A.基于字段的依赖注入B.基于构造函数的依赖注入C.基于 setter 的依赖注入使用 idea 做 Java 开发的小伙伴,应该会遇到这个提示:Field injection is not recommended。有强迫症的小伙伴可以试下 Resource 注解。1、 基于构造函数的依赖注入基于构造函数注入的主要优点是可以将需要注入的字段声明为 final注意:当 Bean A 依赖 B,Bean B 依赖 A 这种

2020-07-08 14:16:09 757

原创 阿里大牛整理的六大Java进阶技术模块,看完茅塞顿开

每个人都想有一份高薪资,环境好,且稳定的工作,现在已经是七月份了,半年已经过去了,你们都准备好了么?你们吃饭的技术过硬么?你们准备好进名企了么?最主要的是,你们是一名资深架构师么?想成为架构师么?还是继续每天坚持加班的桥写代码??????这些问题,只有你们能明白且自己解决。现在正是需要我们认真考虑的时候,要如何提高我们的编程能力,要怎样努力才可以成为一名Java架构师,下面几点是凭我多年经验总结出来的。大家可以借鉴参考一下。第一:提醒自己还有多少没有学习学习新东西的第一步是自己认识到哪些不足。这

2020-07-07 20:45:11 379

原创 Mysql免安装版配置教程和命令图(建议收藏)

Mysql免安装版配置教程图文版配置环境变量新建一个my.ini文件,添加下面内容 [mysqld] basedir=C:\\software\Mysql\mysql-5.7.14-winx64 datadir=C:\\software\Mysql\mysql-5.7.14-winx64\data port=3306复制代码以管理员身份运行cmd,切换到bin目录下执行下面语句,初始化 mysqld ...

2020-07-07 15:48:43 237 1

原创 你居然还去服务器上捞日志,搭个日志收集系统难道不香么

ELK日志收集系统进阶使用,本文主要讲解如何打造一个线上环境真实可用的日志收集系统。有了它,你就可以和去服务器上捞日志说再见了!java学习交流群:925895158ELK环境安装ELK是指Elasticsearch、Kibana、Logstash这三种服务搭建的日志收集系统,这里仅提供最新版本的docker-compose脚本和一些安装要点。docker-compose脚本加我vx:xuanwo013获取相关资料version: '3'services: elasticsea

2020-07-07 11:26:32 141

原创 你那么追捧的 SpringBoot,到底替你做了什么?

一个小伙伴最近参加某一线互联网公司的面试,被问到了一些Spring Boot源码的问题,看看大家能否答出来:1、Spring Boot、Spring MVC、Spring之间的区别?(Spring Boot本质是什么?)2、Spring Boot Starter是什么?3、如何自定义Spring Boot Starter?(如何扩展Spring Boot)4、Spring Boot的自动装配原理是什么?(源码分析哦)5、Spring Boot的启动流程是什么?6、有没有看过Sprin

2020-07-06 20:39:27 147

原创 Java 中最大的数据结构:LinkedHashMap 了解一下?

前言Map 家族数量众多,其中 HashMap 和 ConcurrentHashMap 用的最多,而 LinkedHashMap 似乎则是不怎么用的,但是他却有着顺序。两种,一种是添加顺序,一种是访问顺序。详情LinkedHashMap 继承了 HashMap。那么如果是你,你怎么实现这两个顺序呢?如果实现添加顺序的话,我们可以在该类中,增加一个链表,每个节点对应 hash 表中的桶。这样,循环遍历的时候,就可以按照链表遍历了。只是会增大内存消耗。如果实现访问顺序的话,同样也可以使用链表

2020-07-06 11:28:43 134

原创 Linux运维-搭建高可用Redis缓存

Redis是一个高性能的key-value数据库,现时越来越多企业与应用使用Redis作为缓存服务器。楼主是一枚JAVA后端程序员,也算是半个运维工程师了。在Linux服务器上搭建Redis,怎么可以不会呢?下面楼主就带着大家从0开始,依次搭建:Redis单机服务器 -> Redis主从复制 -> Redis-Sentinel高可用。逐步搭建出高可用的Redis缓存服务器。java学习交流扣qun:925895158搭建Redis1. 下载并解压首先从Redis官网下载Redis并解

2020-07-04 17:04:19 176

原创 带你走进mysql基础,打开MySQL世界大门

前言作为后端猿的我们,不出意外每天都会和mysql打交道。除了每天写不腻的CURD语句,关于mysql我们应该要了解它的那些基础知识呢?在进入文章之前,小编想给你们一个小小的福利,关于MySQL的学习结构指南,让你学习事半功倍因为内容太多所以只放这两张图,更多资料转发+关注私信小编即可获取哦福利给完那我们就直入主题吧简单画出mysql的逻辑架构图? 接 入 层----------------------- ⬆ ⬆ ..

2020-07-04 10:21:02 100

原创 spring 那点事儿——让你少走弯路

本篇内容都是满满的干货知识,为了让你们更快掌握小编熬夜整理了出来文章内容有点长,小编先给点福利让你们有心看完,学到更多领取方式:转发+关注私信小编【资料】即可获取,文末还有惊喜哦Spring核心功能DI(IOC)何谓DI(IOC)DI(依赖注入)是spring的核心功能之一。 Dependency Injection 和 Inversion of Control 其实就是一个东西的两种不同的说法而已。本质上是一回事。Dependency Injection 是一个程序设计模.

2020-07-03 21:20:19 162

转载 数据库优化,以实际SQL入手,带你一步一步走上SQL优化之路

判断问题SQL判断SQL是否有问题时可以通过两个表象进行判断:1、系统级别表象CPU消耗严重 IO等待严重 页面响应时间过长 应用的日志出现超时等错误可以使用sar命令,top命令查看当前系统状态。也可以通过Prometheus、Grafana等监控工具观察系统状态。2、SQL语句表象冗长 执行时间过长 从全表扫描获取数据 执行计划中的rows、cost很大冗长的SQL都好理解,一段SQL太长阅读性肯定会差,而且出现问题的频率肯定会更高。更进一步判断SQL问.

2020-07-02 20:16:16 75

原创 Java程序员必备的一些流程图

前言:整理了一些Java基础流程图/架构图,做一下笔记,大家一起学习。1.spring的生命周期Spring作为当前Java最流行、最强大的轻量级容器框架,了解熟悉spring的生命周期非常有必要;首先容器启动后,对bean进行初始化 按照bean的定义,注入属性 检测该对象是否实现了xxxAware接口,并将相关的xxxAware实例注入给bean,如BeanNameAware等 以上步骤,bean对象已正确构造,通过实现BeanPostProcessor接口,可以再..

2020-07-01 16:34:54 196 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除