能力说明:
精通JVM运行机制,包括类生命、内存模型、垃圾回收及JVM常见参数;能够熟练使用Runnable接口创建线程和使用ExecutorService并发执行任务、识别潜在的死锁线程问题;能够使用Synchronized关键字和atomic包控制线程的执行顺序,使用并行Fork/Join框架;能过开发使用原始版本函数式接口的代码。
能力说明:
熟练掌握Docker各类高级特性,包括容器数据卷、DockerFile构建等;熟练使用Docker封装MySQL、Redis、Tomcat、Apache等镜像,并可在公有云或私有云部署并保持稳定运行。
能力说明:
熟悉微服务常用开放框架,理解Spring、Spring Boot,以及Spring Cloud的概念和不同,对Spring Cloud Alibaba有较为全面的认知。对Istio具备基础运维能力,掌握基本组件的知识。
能力说明:
熟练掌握Linux常用命令、文件及用户管理、文本处理、Vim工具使用等,熟练掌握企业IP规划、子网划分、Linux的路由、网卡、以及其他企业级网络配置技术,可进行Web服务器(Nginx),以及数据库(My SQL)的搭建、配置、应用,可根据需求编写Shell脚本,通过常用工具进行linux服务器自动化运维。
能力说明:
掌握Java开发环境下所需的MySQL高级技巧,包括索引策略、innodb和myisam存储引擎,熟悉MySQL锁机制,能熟练配置MySQL主从复制,熟练掌握日常SQL诊断和性能分析工具和策略。可对云数据库进行备份恢复与监控、安全策略的设置,并可对云数据库进行性能优化。掌握主要NOSQL数据库的应用技术。
立志做全栈的Java开发者。CSDN博客专家,51CTO 专家博主,掘金优秀创作者,华为云享专家,持续输出干货,欢迎关注。 鲜衣怒马意气风发,愿你归来仍是少年。
spring中的Bean标签详解
IOC和AOP不是Spring提出的,在spring之前就已经存在,只不过更偏向于理论化,spring在技 术层次把这两个思想做了⾮常好的实现(Java)。
Spring概述、Spring的优势和体系结构
JVM字节码(class文件)解析
docker使用openJDK导致Excel导出问题
SpringCloud版本升级后bootstrap.yml配置不生效
When allowCredentials is true, allowedOrigins cannot contain the special value ___ since that cannot be set on the _Access-Contr
从哪些维度评判代码质量的好坏?如何具备写出高质量代码的能力?
行为型模式:类和对象如何交互,及划分责任和算法。
结构型模式:把类或对象结合在一起形成一个更大的结构。
创建型模式:对象实例化的模式,创建型模式用于解耦对象的实例化过程。
Java实现SM3加密和验证
Cookie和Session详解
AJAX和JSON详解
一文深入JQuery
Servlet(Server Applet)是Java Servlet的简称,称为小服务程序或服务连接器,用Java编写的服务器端程序,具有独立于平台和协议的特性,主要功能在于交互式地浏览和生成数据,生成动态Web内容。 狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet接口的类,一般情况下,人们将Servlet理解为后者。Servlet运行于支持Java的应用服务器中。从原理上讲,Servlet可以响应任何类型的请求,但绝大多数情况下Servlet只用来扩展基于HTTP协议的Web服务器。
web服务器软件:Tomcat入门(window安装和配置Tomcat)
数据存储和传输文件之XML使用和解析详解
Java中的Request和Response详解
常见的http请求参数和响应参数,前后端交互参数说明
深入JavaScript之BOM、DOM和事件
Spring JdbcTemplate使用详解
数据库连接池入门(c3p0、Druid)
Java注解详解以及如何实现自定义注解
Java反射:框架设计的灵魂
Java8中的函数式接口详解(Supplier、Consumer、Predicate、Function)
Java8中Lambda函数式编程详解
Java网络编程之InetAddress类详解,URL和URI的区别,URLDecoder和URLEncoder,IPv6和IPv4区别,IPv6的三种表示方法
Java通过网络编程实现文件上传
Java网络编程之通过代码实现Socket通信
Java网络编程入门(软件结构、网络通信协议、网络编程三要素)
Java把文件压缩成.zip压缩包和解压.zip压缩包
Java流处理之转换编码的转换流
Java流处理之高效读写的缓冲流
Java字节流和字符流详解
File类详解(获取文件名称、大小、路径、创建等)
我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题: 如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。 那么有没有一种办法使得线程可以复用,就是执行完一个任务,并不被销毁,而是可以继续执行其他的任务?
Java中线程的6种状态详解(NEW、RUNNABLE、BLOCKED、WAITING、TIMED_WAITING、TERMINATED)
Exception和Error有什么区别吗
Java中的异常处理详解(try、catch、finally、throw、throws)
阿里官方给的定义是,FASTJSON是阿里巴巴的开源JSON解析库,它可以解析JSON格式的字符串,支持将Java Bean序列化为JSON字符串,也可以从JSON字符串反序列化到JavaBean。
日期时间类(Date、DateFormat、Calendar)
Java顶层类Object类(toString、equals)
List集合和其子类ArrayList、LinkedList
本文将带你了解如何快速的找出两个相似度非常高的List集合里的不同元素。主要通过Java API、List集合双层遍历比较不同、借助Map集合查找三种方式,以及他们之间的执行效率情况。
集合是java中提供的一种容器,可以用来存储多个数据。
在程序开发中,经常需要遍历集合中的所有元素。针对这种需求,JDK专门提供了一个接口java.util.Iterator。Iterator接口也是Java集合中的一员,但它与Collection、Map接口有所不同,Collection接口与Map接口主要用于存储元素,而Iterator主要用于迭代访问(即遍历)Collection中的元素,因此Iterator对象也被称为迭代器。
强引用、软引用、弱引用、幻象引用有什么区别和使用场景
Web1.0和2.0时期:用户在互联网上的行为和操作依赖平台尽管在Web2.0阶段,用户是内容生产者,但规则依旧是平台来制定,用户没有自主权。
全新的互联网信任与协作关系:
Web3 一词是由以太坊加密货币的联合创始人之一 Gavin Wood 在 2014 年创造的 Web 3.0。从那时起,它就成为一个包罗万象的术语,用于与下一代互联网有关的任何事物,即“去中心化的数字基础设施”。 与加密货币的运作方式类似,所有内容都必须经过网络验证才能被接受。在线应用程序理论上可以让人们在没有中间人的情况下交换信息或货币。Web3 互联网也将是无需许可的,这意味着任何人都可以使用它,而无需生成访问凭证或获得提供商的许可。 构成互联网的数据将存储在网络上,而不是像现在这样存储在服务器上。该数据的任何更改或移动都将记录在区块链上,从而建立一个由整个网络验证的记录。从理论上讲,这可以防止不良行为者滥用数据,同时建立清晰的数据去向记录。 Web3是那些希望网络更安全、更分散化的人发起的第三次伟大的进化。一些人希望,通过利用区块链、加密货币和非同质化代币,Web3将提供目前网络所缺少的私密性、可扩展性和安全性。 代表:区块链、元宇宙、DAO、NFT、链游 思考内容:用户创造、用户所有、用户控制、协议分配利益。 名称解释:
Web 1.0 & 2.0 公司与用户是一对多的关系,巨头通过垄断地位掌握海量资源,控制资源使用权甚至所有权,用户权利被强势侵占。 Web 3.0 区块链项目方(公司)与用户的关系变为多对多,受到区块链机制、矿工(资源提供者)、社区有影响力的成员、科学家、套利者等多个角色制约,权利受限,存在制衡关系。这种情况下,将不对等的关系变为对等关系,用户既可以是用户,也可以作为资源提供者或者token持有者,将用户决策多元化,增强用户财产的“可拥有性”。
Web 1.0 PC互联网
(信息互联网):网络新闻、在线搜索、电子邮件、即时通信、电子商务、彩信彩铃、客户端和网页游戏。 Web2.0 移动互联网
(信息互联网):社交网络、O2O 服务、手机游戏、短视频、网络直播、信息流服务、应用分发和互联网金融。 Web 3.0
(价值互联网):新商业模式、重构分配模式、再造组织形态、重塑产业关系。
尽可能的选择朝阳产业
,因为个人感觉大多数人的选择是大于努力的,选对了行业能让你事半功倍,就像雷军说的,在风口上猪都能飞上天呢。 他山之石,可以攻玉。
选好大树(公司、团队、leader、big old),毕竟大树底下好乘凉,虚心请教互相学习,多沟通多交流。沟通产生价值,技术人永远不要羞于表达自己的观点,你也需要具备独立思考的能力。 做一个可靠的人。
提高自己的能力,勇于挑战自己,在职场中,很多时候都是双向选择题,同样的东西你比别人做出来更可靠,更稳定,自然大家对你的信任度会提高。 珍惜时间,养成持续学习的习惯。
活到老学到老,你知道的越多你不知道的也越多。持续学习,日常复盘,总结输出,利己利他。
不同工作经验的朋友一些建议:
技术进阶建议: 初级-->中级-->高级,一般程序员到达高级水平之后,此时就会开始出现分水岭,就看个人的职业选择了,有人会选择走管理路线,有人会继续深耕技术。优秀的人最终会成为行业领导者,顶级的会成为行业创新/变革者(流下了羡慕的口水襤襤襤)。 日常学习建议: 多看:看一些好的开源项目,看技术文章,看好的技术书籍等,并总结经验。 多写:要把看的东西变成自己的必须实践,把所说的技术通过自己的理解总结梳理并写出来加深印象,并把学会的技术运用到实战中。Talk is cheap, show me the code。 多交流:以开放包容的心态去交流,耐心听取他人意见,只有站在客观的角度去看问题才能把问题看的更透彻,只有不抵触才能让自己学到更多的东西。
彼得.德鲁克《成果管理》书中提到的经典:知识是人类特有的资源。书上没有知识,书上只有信息;知识是在特殊的工作和行动中运用信息的能力。用通俗易懂的话说就是:实践出真知。 推荐尼克拉斯·卢曼的卡片学习法,在阅读时他也会对看到的或者想到的做笔记,划一划,就像我们大多数人所做的那样,但是过了一段时间,他意识到自己的笔记没有任何意义。于是他开始想有没有更好的尝试做笔记的方法。他开始尝试改变做笔记的方法,没有直接写在书本空白处或者写在一本书上,而是将他们全都写在小卡片上,并编上号码,收集到一个盒子里。 因为他意识到,如果只是把笔记积累在一个地方,除了产生大量的文字,不会再有其他的成果,都只是碎片化的知识或看法,无法形成系统的想法。他将卡片分成三大类:1.闪念笔记:阅读或生活中突然产生的灵感或想法。2.文献笔记:阅读中直接引用的文章材料等。3.永久笔记:通过阅读产生的联想或者洞见。同时,他将笔记之间建立索引与主题,让他的笔记形成网状结构,同时又有同一主题。卢曼本人通过用阅读和写作完成从普通的公务员到德国知名的社会学家的逆袭。
随着年纪大了,跟年轻人比体力比加班肯定是比不过了。作为35岁的程序员肯定不只是一个写代码的工程师了。个人认为35岁前需要建立的核心竞争力能够让你35岁还能稳如老。
哈哈阿里云开发者社区我来了,期待来这里总结记录持续输出的同时,希望大家一起共同进步。因为之前也有使用语雀,有些文章是记录在语雀的,博客发文的语雀编辑器期待可以直接导入语雀写的文章这样会方便些。最后祝阿里云社区越办越好。