
java
kaikeba
开课吧——在线职业教育,让职场更自由!
展开
-
一文读懂Netty的核心构成块
底层原理源码是开发者进阶架构师必经之路,今天来看看Netty的核心构成块都是什么。1、Channel在java NIO就有这个,其实就是java NIO的基本构造。他代表到一个实体(比如一个硬件,一个文件等)目前可以把它看作是传入和传出数据的载体。因此它可以打开或者关闭,连接或者断开2、Callback(回调)可以从名称中来进行理解,回调就是一个方法,一个指向已经被提供给另一个方法的引用,比如在一个操作完成后需要通知相关信息常用方式之一Netty在内部使用了回调来处理事件;当一个回调被触发时,相原创 2021-11-12 19:13:09 · 761 阅读 · 0 评论 -
什么是Java?Java的概述
Java编程语言最初由Sun Microsystems开发,由James Gosling发起并于1995年发布,作为Sun Microsystems Java平台(Java 1.0 [J2SE])的核心组件。Java标准版的最新版本是Java SE 8.随着Java的发展及其广泛普及,构建了多种配置以适应各种类型的平台。例如:J2EE for Enterprise Applications,J2ME for Mobile Applications。新的J2版本分别重命名为Java SE,Java EE和原创 2021-11-12 19:12:08 · 1163 阅读 · 0 评论 -
Java的历史和学习Java需要准备的工具
James Gosling于1991年6月发起了Java语言项目,用于其众多机顶盒项目之一。这种语言最初被称为“Oak”,因为Gosling办公室外的一棵橡树,之后又被称为“Green”,后来被重命名为:Java。Sun在1995年发布了第一个公开实现Java 1.0.它承诺Write Once,Run Anywhere(WORA),并在流行的计算机平台上运行。2006年11月13日,Sun根据GNU通用公共许可证(GPL)的条款,将大部分Java作为免费和开源软件发布。2007年5月8日,Sun完成原创 2021-11-12 19:09:42 · 640 阅读 · 0 评论 -
开课吧Web:Web前端入行门槛低吗?
Web前端的火热,不仅仅是因为招聘市场需求量大,还有一个重要的原因就是,入行门槛低,入门简单。真的是这样吗?0基础的小白也能转行吗?很多同学都有这样的疑虑,认为没那么简单。Web前端入行门槛低吗?对于这个问题,应该辩证地看。相对于IT技术类的其他岗位,Web前端绝对算是门槛较低的,当然对应的起点也低。如果是小白入行或转行到IT技术的话,建议选择Web前端。它的门槛低主要体现在两个方面:1.Web前端入门门槛低体现在HTML和CSS上,前者只是结构标签,后者是样式配置,入门是非常简单的,大家可以到网上原创 2021-11-10 18:34:15 · 754 阅读 · 0 评论 -
开课吧Java:MyBatis和Hibernate的区别
Hibernate 和 MyBatis 都是目前业界中主流的对象关系映射(ORM)框架,它们的主要区别如下。1)sql 优化方面Hibernate 使用 HQL(Hibernate Query Language)语句,独立于数据库。不需要编写大量的 SQL,就可以完全映射,但会多消耗性能,且开发人员不能自主的进行 SQL 性能优化。提供了日志、缓存、级联(级联比 MyBatis 强大)等特性。MyBatis 需要手动编写 SQL,所以灵活多变。支持动态 SQL、处理列表、动态生成表名、支持存储过程。工原创 2021-11-10 18:32:55 · 228 阅读 · 0 评论 -
开课吧Java:构建微服务时的三大常见错误
构建分布式系统相当复杂,每个人对构建微服务也都有不同的见解。我们在建立微服务架构时,经常会遇到一些问题,这也是我们常见的错误。1.定制化构建太多微服务架构中各服务间的通信往往正是麻烦的来源。我们选择基于编排的saga解决这个难题。使用Redis流与Go语言构建之后,最终产出的成果相当整洁、整个实现过程也充满趣味。2.复杂性失控这个问题的实质在于经验:从技术上讲,有些路线压根就没必要尝试,因为明显跟项目时间表和当前团队的技术水平相冲突。这个问题的实质在于经验:从技术上讲,有些路线压根就没必要尝试,因为原创 2021-11-09 16:50:42 · 978 阅读 · 0 评论 -
开课吧Java:市面上常用的微服务框架有哪些?
微服务是一种架构风格,一个大型复杂软件应用由一个或多个微服务组成。系统中的各个微服务可被独立部署,各个微服务之间是松耦合的。每个微服务仅关注于完成一件任务并很好地完成该任务。在所有情况下,每个任务代表着一个小的业务能力。市面上常用的微服务框架有如下这些:DubboDubbo是阿里多年构建生产级分布式微服务的技术结晶,服务治理能力非常丰富,在国内技术社区具有很大影响力,目前github上有超过16k星。Dubbo本质上是一套基于Java的RPC框架,当当Dubbox扩展了Dubbo支持RESTful接口原创 2021-11-09 16:49:04 · 1064 阅读 · 0 评论 -
开课吧Java:微服务设计遵循的规约有哪些?
目前用在软件交付的主流方法,是将整个应用程序构建,整体集成与测试。当出现无论多么小的修改,都需要回归一个完整的应用程序测试周期。而使用微服务,软件模块作为独立的运行时服务,本身具有良好定义的API。微服务方法可以更快地向应用程序传递较小的增量更改。要成为微服务,服务必须是:微服务设计规约:可扩展微服务必须能够独立,与同一应用程序中的其它服务进行扩展,向上或向下扩展。此约束表示可以根据负载或其他因素微调应用程序性能、可用性和资源使用情况。此种约束可以通过不同的方式实现,以流行的系统构建方式,运行微服原创 2021-11-09 16:47:32 · 278 阅读 · 0 评论 -
近些年很火的Java,就业前景到底怎么样?
Java是快速发展的编程语言,企业开发很多都会优先考虑Java,因为它安全、简单、面向对象、多线程。面对人才需求如此大的的现状,Java开发就业前景到底怎么样?Web开发:能做大型的互联网网站如,京东,淘宝,人人网、去哪儿网、美团等。java在开发高访问、高并发、集群化的大型网站方面有很大的优势。移动端开发:目前手机上所有的APP后台代码及部分移动端页面java是都能够做到的。客户端开发:主要面向政府、事业单位和大型企业,如医疗、学校、OA、邮箱、投票、金融、考试、物流、矿山等信息方面的系统。这原创 2021-11-01 17:16:55 · 344 阅读 · 0 评论 -
Java开发工程师,每个阶段需要掌握什么重点?
本文着重介绍一下Java开发工程师各个层次需要掌握的重点,1-3年Java初级工程师->3-5年Java中高级工程师->5-8年以上的Java架构师的成长之路。Java初级工程师技能要求:工作1-3年要求:能独立完成分配的模块开发任务技术要求:1、掌握最基础的数据结构:数组、链表、堆、栈、队列、Hash表、二叉树等2、算法:经典排序:插入排序、冒泡排序、快排(分化交换排序)、直接选择排序、堆排序、合并排序等。3、语言要求:基本的开发基础语言掌握,比如:面向对象,集合类、网络IO。原创 2021-11-01 17:15:49 · 3009 阅读 · 0 评论 -
想要学习Java开发.应该从哪方面入手
关于Java开发学习,如果你不是计算机专业的同学,那你可能要注意一下了。在学习下面这些内容之前,你最好要学习一下计算机基础课程。计算机基础这里我们说的计算机课程是:数据结构,操作系统,计算机网络。JVM虚拟机为什么把JVM放在第一位,因为它是最基础也最重要的一块内容。所有的Java代码都运行在JVM上,事实上,JVM在操作系统中只是一个进程。为了了解Java代码的运行方式,底层引擎的执行原理,以及内存的分配情况,我们必须要学习JVM虚拟机。设计模式为什么在这里提到设计模式呢,因为设计模式是Jav原创 2021-11-01 17:14:48 · 295 阅读 · 0 评论 -
Java软件开发中,常用的工具有哪些?
学习Java知识点不足以用于实践。想要操作,需要知道Java开发工具有哪些。掌握Java开发工具的使用,才能熟练地写出代码编程。可说,没有得心应手的工具,想要做好Java开发,就有了一定的难度,所以今天就和大家分享一些常用的Java工具,希望能减少找工具的时间。ApacheHttpClient。曾经是ApacheCommons的子项目,后来独立出来了。HTTPClient简化了HTTP客户端,实现HTTP客户端程序(即浏览器程序)的功能。二、Guava。google实用工具库。三、FastJson原创 2021-10-27 18:43:44 · 296 阅读 · 0 评论 -
最常见的Java框架有哪些?
Java语言仍然是程最受欢迎的编程语言之一。如果你想进入这个行业,Java可以引导你。很多初学者可能没有系统的了解过Java框架。今日为大家整理一下常见的Java框架有哪些?Java框架一、Spring框架。Spring框架是Java后端框架家族中最强大的,拥有IOC和AOP两大利器,简化了开发的复杂性。此外,Spring现在可以与所有主流开发框架集成,这是一个通用框架。Spring使Java开发变得简单。2.SpringMVC框架。它是MVC的开源框架,用来代替Struts,是Spring项目的原创 2021-10-27 18:41:51 · 1750 阅读 · 0 评论 -
MySQL与Redis缓存问题-开课吧
Redis是一个由C语言开发的数据库。为了避免使用MySQL要求过度影响性能,它将被使用。Mysql和redis数据在高并发场景中的一致性不容忽视。MySQL和Redis缓存的一致性。场景:线程A,修改数据,线程B使用数据。1.双删策略:线程A写数据时,先删除redis数据,然后修改mysql,再删除redis数据。问题:线程A修改mysql时,线程B先读取数据,然后执行线程A。此时redis中没有数据,然后线程B处理业务,然后设置redis缓存。此时,redis中的数据仍然是线程A修改前的数据。原创 2021-10-26 18:41:50 · 173 阅读 · 0 评论 -
从事Web前端开发,必须要知道的这些框架
很多网络小白都在学习。在选择适合自己的网络语言时,更纠结。事实上,有很多流行的。强大的前端开源框架可以帮助您轻松构建美丽的网站前端。开发Web前端必不可少的开源框架。1.Pure。Bootstrap、Patternfly和MDCWeb是非常强大的CSS框架,但它们可能非常繁琐和复杂。如果你想要一个轻量级的CSS框架,你可以尝试Pure.CSS,它本身更接近CSS编程,但它可以帮助你构建一个好的网页。Pure是一个轻量级CSS框架,占用空间最小,由Yahoo开发,根据BSD许可开源。2.Foundat原创 2021-10-26 18:40:13 · 184 阅读 · 0 评论 -
想要学习C++,就必须要学习C语言吗?
在学习C++之前,你必须先学习C语言吗?C++读作C加,简称CPlusPlus。顾名思义,C++是在C语言的基础上增加新特性,玩新花样,所以叫CPlusPlus,就像iPhone7S和iPhone7.Win10和Win7的关系一样。在学习C++之前,你必须先学习C语言吗?从语法的角度来看,C语言是C++的一部分,C语言代码几乎可以以C++的方式编译而不需要修改,这给许多初学者带来了很多困惑+之前要不要先学C语言?我对这个问题保持中立,但是初学者直接学习C++会非常困难,Hold无法控制,尤其是当他们原创 2021-10-25 17:49:15 · 2746 阅读 · 0 评论 -
想要成为算法工程师,需要具备开发能力?-开课吧
算法工程师,顾名思义,如果连算法都过不去,和低版后端工程师没什么区别。尽管工程师是基础,然后是算法,必要的基础开发技能不可或缺,但不同于工程岗位,还需要对算法理论有一些更高的理解。所以今天就来介绍一下作为算法工程师,我们需要具备哪些开发能力。开发技能可以简单的完成算法功能,比如一些简单的数据处理、文件操作、特色工程,复杂的是一些自动打标的方法。最好的考试方式其实是应届毕业生考试中的算法题。大数据技能如何通过分布式方法实现数据的离线处理,算法处理成千上万甚至更多的数据可以说是家常便饭。使用大数据可以加原创 2021-10-25 17:47:58 · 1090 阅读 · 0 评论 -
人工智能的主要优势是什么?
AI的一般好处是基于认知功能的复制。但是,它没有道德或经验。最主要的劣势源于缺乏道德。深入了解人工智能的主要缺点更少的工作场所第四次工业革命是否会在您的办公桌旁出现机器人?并不是的。尽管如此,通过替代或补充人工智能,人工智能将影响超过95%的工作。而且,对于各个行业,效果将是不均衡的。人工智能将冲击制造业,农业和物流业等艰苦的劳动领域,并导致手工工作减少。鉴于医疗和教育领域可能会受益于新技术。对于机器人而言,本能地产生而又没有对人类进行任何特殊准备的情况是极其困难的。人工智能是无脑的;“它遵循逻辑原创 2021-10-21 18:03:34 · 5089 阅读 · 0 评论 -
深入了解人工智能的主要缺点
AI的一般好处是基于认知功能的复制。但是,它没有道德或经验。最主要的劣势源于缺乏道德。深入了解人工智能的主要缺点更少的工作场所第四次工业革命是否会在您的办公桌旁出现机器人?并不是的。尽管如此,通过替代或补充人工智能,人工智能将影响超过95%的工作。而且,对于各个行业,效果将是不均衡的。人工智能将冲击制造业,农业和物流业等艰苦的劳动领域,并导致手工工作减少。鉴于医疗和教育领域可能会受益于新技术。对于机器人而言,本能地产生而又没有对人类进行任何特殊准备的情况是极其困难的。人工智能是无脑的;“它遵循逻辑原创 2021-10-21 18:02:34 · 2670 阅读 · 0 评论 -
什么是Hystrix,Hystrix简单概述
在讲解Hystrix之前,首先要清楚雪崩效应、服务雪崩、熔断机制这几个服务熔断概念。服务熔断-雪崩效应在一些比较复杂的系统会出现A依赖B,B依赖C,C依赖D的情况,产生很长的调用链路,这种复杂的调用链路被称为1->N的扇出。如果在调用链路上,有一个或者几个被调用的服务出现问题(不可用、延迟过高等问题)会导致调用A服务的请求被堵住。这时A服务仍然会占用系统线程、IO等资源,如果A服务请求继续增加,系统出现瓶颈导致其他请求不可用,最终业务系统崩溃,这就是雪崩效应。服务熔断-服务雪崩用户请求需要访问原创 2021-10-21 18:00:43 · 441 阅读 · 0 评论 -
zk可实现分布式锁,Redis也可实现,之间有什么区别?
提示:1.CAP模型2.数据同步及时性答案:使用 zk 实现的分布式锁是 CP 的分布式锁。因为 zk 是 CP 的。在某客户端向 zk 集群中的某节点写入数据后,会等待超过半数的其它节点完成同步后,才会响应该客户端。使用 Redis 实现的分布式锁是 AP 的分布式锁。因为 Redis 是 AP 的。在某客户端向 Redis集群中的某节点写入数据后,会立即响应该客户端,之后在 Redis 集群中会以异步的方式来同步数据。对于 AP 的分布式锁,需要注意可能会出现的问题:一个客户端 a 在 Re原创 2021-10-20 18:37:46 · 671 阅读 · 0 评论 -
使用zk可以实现Master选举,实现原理是什么?
提示:1.CAP模型2.数据同步及时性答案:使用 zk 实现的分布式锁是 CP 的分布式锁。因为 zk 是 CP 的。在某客户端向 zk 集群中的某节点写入数据后,会等待超过半数的其它节点完成同步后,才会响应该客户端。使用 Redis 实现的分布式锁是 AP 的分布式锁。因为 Redis 是 AP 的。在某客户端向 Redis集群中的某节点写入数据后,会立即响应该客户端,之后在 Redis 集群中会以异步的方式来同步数据。对于 AP 的分布式锁,需要注意可能会出现的问题:一个客户端 a 在 Re原创 2021-10-20 18:34:55 · 493 阅读 · 0 评论 -
RPC框架设计概要-性能
RPC,全称为Remote Procedure Call,即远程过程调用,是一种计算机通信协议。作为微服务中的核心组件,在一个系统中RPC的调用量往往是很高的,所以性能是一个很重要的考虑点。1.I/O模型常见的Unix5种I/O模型分别是:阻塞I/O,非阻塞I/O,I/O复用(select,poll,epoll等支持I/O多路复用),信号驱动I/O,异步I/O;从早期的阻塞I/O方式只能创建大量的线程来保证每个用户互不影响,到现在广泛使用的I/O多路复用模型,再到异步I/O;从select模型到现在主流原创 2021-10-19 16:40:50 · 193 阅读 · 0 评论 -
主流Java微服务框架有哪些?-开课吧
本文我们简单聊聊当下主流的3个Java微服务框架,看看各自的特点。1.Spring and SpringBootSpringBoot在Java微服务领域绝对是一哥,毫无争议,据说已经占据57%的市场份额。SpringBoot这么牛是有道理的,它太成熟了,功能特性极其丰富,不管你的需求多复杂,都能满足你。还内置了各种通用的功能,例如安全认证等等,开箱即用,非常方便。SpringBoot配置优先的理念大大简化了开发,通过自动配置可以非常简单的集成各种技术。SpringBoot集成了嵌入式的Tomca原创 2021-10-19 16:39:44 · 2223 阅读 · 0 评论 -
RPC框架的实现原理是什么?-开课吧
Dubbo,Spring cloud那一套,GRPC,Thrift等等都是RPC全程远程方法调用,RPC本质上其实就是一次网络调用,那么他的实现原理主要有以下几个步骤:1、建立通信首先要解决通讯的问题:即A机器想要调用B机器,首先得建立起通信连接。主要是通过在客户端和服务器之间建立TCP连接,远程过程调用的所有相关的数据都在这个连接里面进行传输交换。2、服务寻址通常情况下我们需要提供B机器(主机名或IP地址)以及特定的端口,然后指定调用的方法或者函数的名称以及入参出参等信息,这样才能完成服务的一个调原创 2021-10-19 16:36:55 · 804 阅读 · 0 评论 -
JSP到底是什么
JSP(JavaServerPages)是一种动态网页开发技术。JSP文件就是在传统的HTML文件中插入Java代码和JSP标签,后缀名为.jsp。JSP到底是什么JSP与PHP、ASP、ASP.NET等语言类似,都运行在服务端。通常返回给客户端的就是一个HTML文件,因此只要有浏览器就能查看JSP页面。JSP使用JSP标签在HTML网页中插入Java代码,标签通常以<%开头,以%>结束。JSP标签有多种功能,比如访问数据库和JavaBean组件等,还可以在不同的网页之间传递和共享信息。原创 2021-10-18 15:51:06 · 7997 阅读 · 0 评论 -
2021年Java开发者应该学习的技术
对于Java开发人员来说,最近几年的时间中,Java生态诞生了很多东西。不断更新的Java版本,以及发布很多流行的框架,这些都给我们带来了很大的挑战。Java的版本迭代速度实在是太快了,也带来了很多有趣的特性。那么,2021年Java开发者应该学习的技术有哪些?2021年Java开发者应该学习的技术如下:1、DevOps(Docker and Jenkins)过去的一年,越来越多的公司正在转型DevOps,DevOps非常庞大,如果你是一个有经验的Java程序员,愿意学习环境管理、自动化和整体改进,你原创 2021-10-18 15:48:15 · 187 阅读 · 0 评论 -
完整的微服务系统应该包括哪些功能?
通常而言,微服务架构是一种架构模式或者说是一种架构风格。它提倡将单一应用程序划分成一组小的服务,每个服务运行独立的自己的进程中,服务之间互相协调、互相配合,为用户提供最终价值。服务之间采用轻量级的通信机制互相沟通(通常是基于HTTP的RESTful API)。每个服务都围绕着具体业务进行构建,并且能够被独立地部署到生产环境、类生产环境等。一个完整的微服务系统,它最少要包含以下功能:日志和审计,主要是日志的汇总,分类和查询;监控和告警,主要是监控每个服务的状态,必要时产生告警;消息总线,轻量级的MQ原创 2021-10-18 15:46:57 · 1083 阅读 · 0 评论 -
网络爬虫是什么
网络爬虫又称网络蜘蛛、网络机器人,它是一种按照一定的规则自动浏览、检索网页信息的程序或者脚本。网络爬虫能够自动请求网页,并将所需要的数据抓取下来。通过对抓取的数据进行处理,从而提取出有价值的信息。认识爬虫我们所熟悉的一系列搜索引擎都是大型的网络爬虫,比如百度、搜狗、360浏览器、谷歌搜索等等。每个搜索引擎都拥有自己的爬虫程序,比如360浏览器的爬虫称作360Spider,搜狗的爬虫叫做Sogouspider。百度搜索引擎,其实可以更形象地称之为百度蜘蛛(Baiduspider),它每天会在海量的互联网原创 2021-10-14 18:22:55 · 623 阅读 · 0 评论 -
Java进阶必备,人人都能听懂的JVM
JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。Java虚拟机包括一套字节码指令集、一组寄存器、一个栈、一个垃圾回收堆和一个存储方法域。JVM屏蔽了与具体操作系统平台相关的信息,使Java程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。JVM在执行字节码时,实际上最终还是把字节码解释成具体平台上的机器指令执行。JVM是Java原创 2021-10-14 18:21:05 · 98 阅读 · 0 评论 -
JVM教程:JM内存分哪几个区,每个区的作用是什么?
很多人没有合适的资料来回顾整个JVM知识体系,或者有的初学者可能不知道该从哪里开始复习。整理一些常见的JVM面试题,希望对大家有帮助。JVM常见面试题问:JM内存分哪几个区,每个区的作用是什么?方法区1.有时候也成为永久代,在该区内少发生垃级回收,但是开代表开发生GC,在这里进行的GC主要是对方法区里的常量池和对类型的卸载2.方法区主费用来存储已被虚拟机加载的类的信息常量、静态变量和即时编译器编译后的代码等数锯3.该区域是被线程共享的4.方法区里有一个运行时常量池,用于存放静态编产生的字面量和原创 2021-09-18 19:10:51 · 497 阅读 · 0 评论 -
开课吧:Dubbo的整体架构设计有哪些分层?
Dubbo框架设计共划分了10层,最上面的Service层是留给实际使用Dubbo开发分布式服务的开发者实现业务逻辑的接口层。图中左边为服务消费方使用的接口,右边淡绿色背景的为服务提供方使用的接口,位于中轴线上的为双方都用到的接口。接口服务层(Service):该层与业务逻辑相关,根据provider和consumer的业务设计对应的接口和实现配置层(Config):对外配置接口,以ServiceConfig和ReferenceConfig为中心服务代理层(Proxy):服务接口透明代理,生成服务的客原创 2021-09-18 19:09:45 · 254 阅读 · 0 评论 -
开课吧课堂:Kubernetes集群环境常见问题解决
本文主要分享了k8s集群环境下,镜像不能自动拉取、容器执行错误、镜像导入导出、集群崩溃常见问题解决。1、Kubernetes集群环境下各个node镜像不能自动拉取一般情况下遇到这种情况下,比较笨的办法是可以通过人肉的方式登录到每个节点通过dockerlogindockerpull的形式获取镜像,想象下,如果成百上千个节点…一般出现此类问题在私有仓库和云厂商分别解决方法如下。专有镜像的集群,比如一些个人或者公司搭建私有仓库,以下是解决该问题步骤1、dockerlogin[server]针对要使用的每原创 2021-09-14 15:19:35 · 829 阅读 · 0 评论 -
开课吧:Java开发学习路线-基础知识
一般来说想要成为Java开发工程师,需要先了解清楚Java开发学习路线,而基础知识部分是整个路线里面最最重要的部分,也是后续进行框架学习、能看懂开源项目的前置基础,这部分是最不能忽视的!基础知识:一、语言本身如下一些重点必须掌握:语法基础;OO编程思想:类、对象、封装、继承、多态、接口;容器;异常;泛型;I/O;注解;反射图形化界面,如swing的东西跳过不看二、数据结构和算法几大基础数据结构类型得烂熟于心,比如:字符串、链表、二叉树、栈、队列等等;基本的几大算法要了如指掌,比如查找、排序、动原创 2021-09-13 17:52:00 · 104 阅读 · 0 评论 -
开课吧:怎样才能做软件架构师?
是否是一个好的架构师,先问问自己是否知道什么是好的架构。一个好的软件架构既可以是一个完整的模型,也可以是拆掉重组成另一个完整的模型,即高内聚、低耦合。有时一个看似简单的架构往往却是一件艺术珍品。那么怎样才能做软件架构师?1、首先是要有方法论,需求有需求的方法,设计有设计的方法,做架构,当然也需要有架构规划的方法。方法论会把你的知识结构系统化的整合起来,形成一个体系,而不是case by case现想。架构规划方法有很多,TOGAF,FEAF等。现在我主要采用的是FEAF架构方法论。2、其次,技术能力、业原创 2021-09-13 17:50:24 · 210 阅读 · 0 评论 -
不同级别的Java开发人员的应聘要求
如今Java开发人员有很多,岗位竞争也非常激烈。根据技术水平不同,Java程序员可以分为初级、中级、高级、资深等。不同级别的Java开发人员的应聘要求也会不同。初级Java开发工程师任职要求:2年以上Java或Java web开发经验;熟练使用Java后台技术;熟练使用HTML5、CSS等前端技术;熟练使用SQL语言;熟悉SpringMVC、SSM、Spring boot等Web框架;有较强的学习能力;有良好的创新精神和团队协作经验;岗位职责:按照详细的设计,完成代码设计、代码编写;对自行编制完成原创 2021-09-06 19:47:01 · 1419 阅读 · 1 评论 -
在微服务中,Kubernetes软件组件有哪些?
在微服务、云计算和无服务架构时代,理解Kubernetes并且知道如何使用它是十分有用的。然而,官方的Kubernetes文档对于刚开始接触云计算的用户来说有些难以理解,以下内容是关于Kubernetes软件组件有哪些的详细介绍。容器现代软件开发的目标之一是保证各类应用程序在相同的主机或集群上可以彼此隔离。虚拟机是解决该问题的一个方案。但虚拟机需要他们自己的操作系统,所以他们的规模通常是千兆字节。容器则恰恰相反,它可以隔离应用程序的执行环境但共享底层操作系统。所以,容器就像一个盒子,我们可以在其中保存原创 2021-09-06 19:45:49 · 204 阅读 · 0 评论 -
Java面向对象:对象的概念及面向对象的三个基本特征
面向对象简称OO(Object Oriented),20世纪80年代以后,有了面向对象分析(OOA)、面向对象设计(OOD)、面向对象程序设计(OOP)等新的系统开发方式模型的研究。对Java语言来说,一切皆是对象。把现实世界中的对象抽象地体现在编程世界中,一个对象代表了某个具体的操作。一个个对象最终组成了完整的程序设计,这些对象可以是独立存在的,也可以是从别的对象继承过来的。对象之间通过相互作用传递信息,实现程序开发。对象的概念Java是面向对象的编程语言,对象就是面向对象程序设计的核心。所谓对象原创 2021-09-02 18:42:39 · 404 阅读 · 0 评论 -
Java数组简介:数组是什么?
在某些情况下,虽然可以使用单个变量来存储信息,但是如果需要存储的信息较多(例如存储50名学生的成绩),这时再依次创建变量声明并赋值显得非常麻烦。Java数组简介:数组是什么?随着处理的信息量越来越大,工作也就越来越烦琐,这时可以使用数组或集合来存储信息。通过使用数组,可以在很大程度上缩短和简化程序代码,从而提高应用程序的效率。数组(array)是一种最简单的复合数据类型,它是有序数据的集合,数组中的每个元素具有相同的数据类型,可以用一个统一的数组名和不同的下标来确定数组中唯一的元素。根据数组的维度,可原创 2021-08-31 19:03:17 · 205 阅读 · 0 评论 -
开课吧:微服务与DDD解析
DDD 不是一种架构, 而是一种架构方法论, 目的就是将复杂问题领域简单化, 帮助我们设计出清晰的领域和边界, 可以很好的实现技术架构的演进。DDD涵盖两部分:战略设计部分、战术设计。战略设计从业务视角出发,建立业务领域模型,划分领域边界,建立通用语言的限界上下文,限界上下文可以作为微服务设计的参考边界。战术设计从技术视角出发,侧重于领域模型的技术实现,完成软件开发和落地,包括:聚合根、实体、值对象、领域服务、应用服务和资源库等代码逻辑的设计和实现。DDD 看似复杂,学习起来并不困难,但是想要快速掌原创 2021-08-31 19:02:21 · 184 阅读 · 0 评论