自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 .NET与JAVA的区别【完整版】

.NET与Java的这种相似为网站管理系统的开发提供了便利,如果您掌握了C,那么,掌握Java这个语言几乎是不费什么力气的,需要花费时间的只不过就是熟悉彼此的类库。.NET是.NET Framework,Java是J2SE。学习这两者的理论基础都是面向对象理论。所以,一名有着面向对象理论基础的人是很容易掌握.NET和Java的。简介.NET是微软推出的一种新的软件运行平台,它包括一整套应用范围广泛的技术,旨在迎接Java所带来的挑战。.NET给网站管理系统开发带来了很多新的技术,尤其是它的“混合语言”开

2020-08-28 16:54:33 958

原创 javaJVM 11 规范 ---- 资料总结

由Java虚拟机执行的编译代码使用与硬件和操作系统无关的二进制格式表示,通常存储在 class文件 中。class文件 精确地定义了类或接口的表示形式,包括在特定于平台的目标文件格式中可能被视为理所当然的字节排序等细节。数据类型与Java 编程语言一样,Java 虚拟机对两种类型进行操作:基本类型 和 引用类型。相应地,有两种类型的值可以存储在变量中,作为参数传递,由方法返回,并对其进行操作:基本值 和 引用值。Java 虚拟机期望几乎所有类型检查都在运行时之前完成,通常由编译器完成,而不必由 Jav

2020-08-28 16:24:30 154

原创 Java字节码介绍

对JVM内幕有一些概念之后,我们可以看一下从示例代码生成的一些基本的字节码示例。一个Java类文件中的每个方法都有一个由一系列指令组成的代码片段,每个指令都有如下的格式:操作符(1个字节) 操作数1(可选) 操作数2(可选)…这是一条指令,由一个字节的操作符和零个或者多个操作数组成,操作数包含了要进行运算的数据。在当前执行方法的栈帧中,一条指令可以在操作数栈上进行push或者pop操作,并且它可能在局部变量数组中加载或者保存数值。让我们来看一下简单的例子:为了打印出编译好的类中的字节码(假定它的文件

2020-08-28 15:06:16 138

原创 Java并发编程:Java内存模型JMM

Java内存模型英文叫做(Java Memory Model),简称为JMM。Java虚拟机规范试图定义一种Java内存模型来屏蔽掉各种硬件和系统的内存访问差异,实现平台无关性。CPU和缓存一致性讲JMM之前,我们应该先了解下CPU和缓存一致性的问题。计算机在执行程序的时候,每条指令都是在CPU中执行的,而执行的时候,又要和数据打交道。而计算机上面的数据,是存放在内存当中的。随着CPU的高速发展,从内存中读取和写入数据的过程和CPU的执行速度比起来差距就会越来越大,这导致了CPU不能满负荷的工作,需要去

2020-08-27 21:09:38 84

原创 Java架构-看完这篇,你也能设计一个高性能的“秒杀”系统

从架构视角来看,秒杀系统本质是一个高性能、高一致、高可用的三高系统。而打造并维护一个超大流量的秒杀系统需要进行哪些关注,就是本文讨论的话题。前言秒杀大家都不陌生。自2011年首次出现以来,无论是双十一购物还是 12306 抢票,秒杀场景已随处可见。简单来说,秒杀就是在同一时刻大量请求争抢购买同一商品并完成交易的过程。从架构视角来看,秒杀系统本质是一个高性能、高一致、高可用的三高系统。而打造并维护一个超大流量的秒杀系统需要进行哪些关注,就是本文讨论的话题。整体思考首先从高维度出发,整体思考问题。秒杀

2020-08-27 17:43:09 424

原创 javaEE与java的区别

好程序员Java培训分享Java EE与Java的区别,有不少想要转行做程序员的朋友都会有一个疑问,Java EE和Java是不是一种语言,这两者之间又有什么区别呢?  Java一共分为三个版本:Java SE(标准版)、Java EE(企业版)以及Java ME(微型版)。  其中Java SE就是大家所熟知的Java根底,Java EE在企业最常用的地方就是网站PC端的开发,而Java ME常用于移动端开发,现在熟悉的安卓系统便是用Java ME开发的。  Java既可以被编译,也可以被解说。经过

2020-08-27 16:30:57 1435

原创 教你get一起解锁微服务划分的正确姿势

我们知道微服务是一种理念,没有确切的定义和边界,好比设计原则,是属于抽象的概念。在定义不明确的情况下谈划分也是一种各说各话,具体问题需要具体分析,所以这篇文章谈到的划分也不是绝对标准,仅供参考。  有人说微服不难,难的是服务的划分,虽然我持保留意见。但是从侧面也反应了划分具有一定的困难。这里的矛盾在于粒度。如果粒度太大了,分和不分似乎都差不多;如果粒度太小了,聚合、发布、调用链、调试等都是坑。  以下谈到的拆分是前人经验的总结,我罗列了三种行家的拆分姿势,每个的的经验和视野不同,各有偏颇,我在这.

2020-07-13 15:52:15 148

原创 HashMap 夺命二十一问

1:HashMap 的数据结构?A:哈希表结构(链表散列:数组+链表)实现,结合数组和链表的优点。当链表长度超过 8 时,链表转换为红黑树。transientNode<K,V>\[\]table;2:HashMap 的工作原理?HashMap 底层是 hash 数组和单向链表实现,数组中的每个元素都是链表,由 Node 内部类(实现 Map.Entry接口)实现,HashMap 通过 put & get 方法存储和获取。存储对象时,将 K/V 键值传给 put(..

2020-07-11 16:52:03 83

原创 Spring Boot 应用如何提高服务吞吐量?

背景方案1、undertow替换tomcat 2、缓存 3、异步 4、业务拆分 5、集成消息队列背景生产环境偶尔会有一些慢请求导致系统性能下降,吞吐量下降,下面介绍几种优化建议。方案1、undertow替换tomcat电子商务类型网站大多都是短请求,一般响应时间都在100ms,这时可以将web容器从tomcat替换为undertow,下面介绍下步骤:1、增加pom配置<dependency><groupid>org.spri...

2020-07-11 16:03:32 161

原创 Spring boot+Shiro+MyBatis-Plus搭建企业级快速开发平台源码

一个 Java EE 企业级快速开发平台,基于经典技术组合(Spring Boot、Spring MVC、Apache Shiro、MyBatis-Plus、Freemarker、Bootstrap、AdminLTE)采用经典开发模式,让初学者能够更快的入门并投入到团队开发中去。 在线代码生成功能,包括核心模块如:组织机构、角色用户、菜单及按钮授权、数据权限、系统参数、内容管理、license认证,BPM工作流等。采用松耦合设计;界面无刷新,一键换肤;众多账号安全设置,密码策略;在线定时任务配置;支持多数.

2020-07-10 10:06:11 261

原创 这8 种SQL 错误用法是不是你也经常忽视

由于细节内容实在太多啦,所以只把部分知识点整理出来粗略的介绍,每个小节点里面都有更细化的内容!接下来开始分享啦sql语句的执行顺序:FROM <left_table>ON <join_condition><join_type> JOIN <right_table>WHERE <where_condition>GROUP BY <group_by_list>HAVING <having_...

2020-07-09 11:18:54 94

原创 面试中遇到“高并发下,你怎么选择最优的线程数”,你该怎么答?

//加V:BGM7756可免费领取文末面试资料!为了加快程序处理速度,我们会将问题分解成若干个并发执行的任务。并且创建线程池,将任务委派给线程池中的线程,以便使它们可以并发的执行。在高并发的情况下采用线程池,可以有效降低线程创建释放的时间花销及资源开销,如不使用线程池,有可能造成系统创建大量线程而导致消耗完系统内存以及“过度切换”(在JVM中采用的处理机制为时间的轮转,减少了线程间的相互切换) 。但是有一个很大的问题摆在我们面前,即我们希望尽可能多地创建任务,但由于资源所限我们又不能创建过多的线程。那

2020-07-08 10:42:35 110

原创 你不会反转链表怎么让面试官对你心动?

微信搜索BGM7756,免费获取文末的面试资料反转链表这题真的是面试非常喜欢考的了,这题看起来简单,但是能用两种方法一遍 bug free 也是不容易的,面试的时候可以筛下来一大批人,无论是对 junior 还是 senior 面试都很爱考。今天就带你梳理清楚思路,思路清楚了才能写字如有神。题目这是从力扣中文站上截下来的,但是这个输出不太形象。对链表的反转,并不是要把它实际翻个个,只是动一动 next 指针就好了。什么意思呢?我们先看对数组进行反转。数组是一个物理上连续存储的数据结构,反

2020-07-07 09:42:47 121

原创 是时候掌握JVM中的双亲委派机制了

微信搜索BGM7756,免费获取本文提及的面试资料!JVM对字节码文件采用的是按需加载方法,什么时候使用这个类才会将它的字节码加载到内存生成Class对象呢?我们用案例测试一下什么是双亲委派机制。微信搜索BGM7756,免费获取本文提及的面试资料!package java.lang;public class String { static{ System.out.println("自定义的String"); }}package com.bjsxt.test01;public

2020-07-06 11:21:36 109

原创 你离彻底了解HashMap只差这一篇!

前言HashMap是Map族中最为常用的一种,也是 Java Collection Framework 的重要成员。本文首先给出了 HashMap 的实质并概述了其与 Map、HashSet 的关系,紧接着给出了 HashMap 在 JDK 中的定义,并结合源码分析了其四种构造方式。最后,通过对 HashMap 的数据结构、实现原理、源码实现三个方面的剖析,深入到它底层 Hash 存储机制,解释了其底层数组长度总是 2 的 n 次方的原因,也揭示了其快速存取、扩容及扩容后的重哈希的原理与实现。本文所.

2020-07-01 10:52:34 82

原创 实用的消息事件机制你懂了吗?

Spring Boot自带了消息机制,可以让我们在一个地方发布消息,多个地方同时接收消息并处理消息,当然这是在同一个JVM内存下进行的,不同的进程还需要使用MQ来实现。我觉得该消息模式跟观察者模式有一定的区别,观察者模式一般观察的是一个对象内部属性发生变化的时候使用。而该消息机制可以在任意地方使用。消息事件本身是一个对象,继承于ApplicationEvent还需要有一个消息事件发布者,将这个消息事件给发布出去然后就是我们的侦听者,侦听者可以有任意个根据业务不同做不同的处理,他的写法分两种,一个是

2020-06-23 20:18:32 211

原创 TreeSet你掌握了吗?

前言上篇文章我们分析了HashSet,它是基于HashMap实现的,那TreeSet会是怎么实现的呢?没错!和大家想的一样,它是基于TreeMap实现的。所以,TreeSet的源码也很简单,主要还是理解TreeMap。TreeSet的继承关系按照惯例,先来看TreeSet类的继承关系:public class TreeSet<E> extends AbstractSet<E> implements NavigableSet<E>, Cloneable, j

2020-06-20 17:52:49 407

原创 JAVA后端开发之第一步:开发环境配置

文末有惊喜噢~JDK安装jdk安装包去甲骨文的官网下载,选择适合自己系统的安装包,下载下来,安装时一路继续就好,而且安装好后可以直接使用,并不需要配置路径(有些教程会教大家配置路径,但我在Mac上安装好后确实没有配置路径就可以使用,Windows是必须配置路径的)。开发工具安装MyEclipse、IDEA的安装也只需下载好安装包,一路继续就OK了。当然,这俩个工具是付费的。  依赖工具Maven的安装可以参考Mac OS X下Maven的安装与配置 ,完全可以解决大家的问题。Web服务器安装

2020-06-16 17:19:44 301

原创 Java后端开发工程师是否该转大数据开发?

背景看到一些java开发工程师,对java后端薪酬太悲观了。认为换去大数据领域就会高工资。觉得java后端没有前途。我从事java后端开发,对大数据领域工作有些了解,但不深入。本文描述一下我对java后端和是否转大数据开发的个人见解。目的分析大数据领域分类分析大数据工作工资高的原因分析造成觉得java后端开发不够前景的原因java后端转大数据工作做什么转去大数据领域的各类方向与java后端比较衡量一、大数据领域工作我认为分4类二、大数据领域工资高的原因大家看到大数据工资高,其实是大数据

2020-06-16 14:47:06 2060 1

原创 揭秘:阿里最新Java架构技术体系

一、源码阅读常用设计模式Spring5源码二、分布式架构总纲消息通信分布式缓存后台服务高性能框架三、微服务架构纲要为什么某些人会一直比你优秀,是因为他本身就很优秀还一直在持续努力变得更优秀,而你是不是还在满足于现状内心在窃喜!合理利用自己每一分每一秒的时间来学习提升自己,不要再用"没有时间“来掩饰自己思想上的懒惰!趁年轻,使劲拼,给未来的自己一个交代!如何一起学习,有没有免费资料?欢迎工作一到五年的 Java 的工程师朋友们加入的 Java 架构开发:77059

2020-06-15 12:38:18 484

原创 全新互联网Java架构技术体系路线

2018全新互联网Java架构技术体系路线:一:常见模式与工具学习Java的技术体系,设计模式,流行的框架与组件是必不可少的:常见的设计模式,编码必备Spring5,做应用必不可少的最新框架MyBatis的,玩数据库必不可少的组件二:分布式架构高并发,高可用,海量数据,没有分布式的架构知识肯定是玩不转的:分布式架构原理分布式架构策略分布式中间件分布式架构实战三:微服务架构业务越来越复杂,服务分层,微服务架构是架构升级的必由之路,Java技术体系,和微服务相关的技术有哪些呢?微

2020-06-15 11:05:12 235

原创 Java架构笔记——Spring AOP的实现方式

spring aop的实现方式AOP常用的实现方式有两种,一种是采用声明的方式来实现(基于XML),一种是采用注解的方式来实现(基于AspectJ)。首先复习下AOP中一些比较重要的概念:**Joinpoint(连接点):**程序执行时的某个特定的点,在Spring中就是某一个方法的执行 。**Pointcut(切点):**说的通俗点,spring中AOP的切点就是指一些方法的集合,而这些方法是需要被增强、被代理的。一般都是按照一定的约定规则来表示的,如正则表达式等。切点是由一类连接点组成。*.

2020-06-15 10:23:41 133

原创 Java架构师之路:从Java码农到资深架构师

不管是开发、测试、运维,每个技术人员心里都有一个成为技术大牛的梦,毕竟“梦想总是要有的,万一实现了呢?写在开篇不管是开发、测试、运维,每个技术人员心里都有一个成为技术大牛的梦,毕竟“梦想总是要有的,万一实现了呢”!正是对技术梦的追求,促使我们不断地努力和提升自己。然而“梦想是美好的,现实却是残酷的”,很多同学在实际工作后就会发现,梦想是成为大牛,但做的事情看起来跟大牛都不沾边,例如,程序员说“天天写业务代码还加班,如何才能成为技术大牛”,测试说“每天都有执行不完的测试用例”,运维说“扛机器接网线敲sh

2020-06-15 09:53:30 153

空空如也

空空如也

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

TA关注的人

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