程序员
文章平均质量分 76
普通网友
这个作者很懒,什么都没留下…
展开
-
为什么大公司一定要使用微服务?微服务杂谈,Java高级开发技术
马丁.福勒的一个观点是:除非管理单体应用的成本已经太复杂了(太大导致很难修改和部署),否则都不要考虑微服务。大部分应用都应该选择单体架构,做好单体应用的模块化而不是拆分成服务。因此,系统一开始采用单体架构,做好模块化,之后随着系统变得越来越复杂、模块/服务间的边界越来越清晰,再重构为微服务架构是一个合理的架构演化路径。四个可以考虑上微服务的情况:多人开发一个模块/项目,提交代码频繁出现大量冲突。模块间严重耦合,互相依赖,每次变动需要牵扯多个团队,单次上线需求太多,风险大。主要业务和次要原创 2021-08-10 23:17:09 · 328 阅读 · 0 评论 -
为什么大公司一定要使用微服务?微服务杂谈(1),推荐学习
马丁.福勒的一个观点是:除非管理单体应用的成本已经太复杂了(太大导致很难修改和部署),否则都不要考虑微服务。大部分应用都应该选择单体架构,做好单体应用的模块化而不是拆分成服务。因此,系统一开始采用单体架构,做好模块化,之后随着系统变得越来越复杂、模块/服务间的边界越来越清晰,再重构为微服务架构是一个合理的架构演化路径。四个可以考虑上微服务的情况:多人开发一个模块/项目,提交代码频繁出现大量冲突。模块间严重耦合,互相依赖,每次变动需要牵扯多个团队,单次上线需求太多,风险大。主要业务和次要原创 2021-08-10 23:16:05 · 222 阅读 · 0 评论 -
为什么-@Value-可以获取配置中心的值,Java教学视频百度网盘
}## 总结1. Spring 通过 `PropertySource` 来抽象配置属性源, `PropertySource` 允许有多个。`MutablePropertySources`2. 在 Spring 容器启动的时候,会默认加载 systemEnvironment 和 systemProperties。`StandardEnvironment#customizePropertySources`3. 我们可以通过 `@Property原创 2021-08-10 23:14:51 · 127 阅读 · 0 评论 -
为了你们不错过金三银四,我真是操碎了心,腾讯高级Java面试题
写在正文之前,最近很多小伙伴都在考虑要不要加入本次金三银四,那么他们害怕的点在哪里呢?无非就是下面这两点!疫情当前,很多公司、企业都在不断裁员,害怕跳槽只跳了一半,自己跳了出去却没有公司要自己。觉得自己工作经验不够,想在小公司再干一年。以上这两点总结下来其实就是一句话!对于自己的实力没有信心,自己所掌握的知识点还不足以支撑自己去跳槽,找到高薪岗位!我其实一直有一句座右铭:新年过完了,其实马上就是下一个新年了,每次都想着等一等在去努力、等一等再去冲刺,那么永远都会慢别人一步!所以赶紧私信我原创 2021-08-10 23:13:40 · 203 阅读 · 0 评论 -
中级Java面试题及答案,字节跳动算法工程师总结:动态规划4步曲
1、确定问题状态提炼最后一步的问题转化2、转移方程,把问题方程化3、按照实际逻辑设置初始条件和边界情况4、确定计算顺序并求解结合实例感受下:你有三种硬币,分别面值2元,5元和7元,每种硬币都有足够多。买一本书需要27元。如何用最少的硬币组合正好付清,不需要对方找钱?关键词“用最小的硬币组合正好付清”——“最小的组合”,求最值问题,动态规划。**正常人第一反应思路:**最少硬币组合?优先使用大面值硬币——7+7+7+5=26 额?可求解目标是27啊……改算法——7+7+7+2+2+2=2原创 2021-08-10 23:12:26 · 107 阅读 · 0 评论 -
中级Java开发人员要掌握的技术,Spring系列之Spring Cache
如果您尚未定义类型CacheManager或CacheResolver命名的bean cacheResolver(请参阅CachingConfigurer),在SB中通过@EnableCaching注解自动化配置合适的缓存管理器(CacheManager),SB根据下面的顺序去侦测缓存提供者:GenericJCache (JSR-107) (EhCache 3, Hazelcast, Infinispan, etc)EhCache 2.xHazelcastInfinispan原创 2021-08-10 23:11:20 · 140 阅读 · 0 评论 -
中信银行Java笔试题,基于ssm医院病历管理系统
CREATE TABLE allusers (id int(11) NOT NULL AUTO_INCREMENT,username varchar(50) DEFAULT NULL,pwd varchar(50) DEFAULT NULL,cx varchar(50) DEFAULT ‘普通管理员’,addtime timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,PRIMARY KEY (id)) ENGINE=InnoDB AUTO_INCREME原创 2021-08-10 23:10:12 · 127 阅读 · 0 评论 -
Java中高级核心知识全面解析(13),字节跳动面试
1.版本号机制一般是在数据表中加上一个数据版本号version字段,表示数据被修改的次数,当数据被修改时,version值会加一。当线程A要更新数据值时,在读取数据的同时也会读取version值,在提交更新时,若刚才读取到的version值为当前数据库中的version值相等时才更新,否则重试更新操作,直到更新成功。举一个简单的例子:假设数据库中帐户信息表中有一个version 字段,当前值为1;而当前帐户余额字段(balance)为$100 。操作员A此时将其读出(version=1),并从其帐原创 2021-08-07 20:50:57 · 102 阅读 · 0 评论 -
Java中高级核心知识全面解析(12),从青铜到王者的路线
如果一个对象只具有弱引用,那就类似于可有可无的生活用品。弱引用与软引用的区别在于:只具有弱引用的对象拥有更短暂的生命周期。在垃圾回收器线程扫描它所管辖的内存区域的过程中,一旦发现了只具有弱引用的对象,不管当前内存空间足够与否,都会回收它的内存。不过,由于垃圾回收器是一个优先级很低的线程, 因此不一定会很快发现那些只具有弱引用的对象。弱引用可以和一个引用队列(ReferenceQueue)联合使用,如果弱引用所引用的对象被垃圾回收,Java 虚拟机就会把这个弱引用加入到与之关联的引用队列中。4.虚引用(P原创 2021-08-07 20:49:42 · 80 阅读 · 0 评论 -
Java中高级核心知识全面解析(1),尚学堂Java百度云资源
IOC (Inversion of control )控制反转/反转控制。它是一种思想不是一个技术实现。描述的是:Java开发领域对象的创建以及管理的问题。例如:现有 类A依赖于类B传统的开发方式:往往是在类A中手动通过new关键字来 new 一个B的对象出来使用IOC思想的开发方式: 不通过new关键字来创建对象,而是通过IOC容器(Spring 框架) 来帮助我们实例化对象。我们需要哪个对象,直接从IOC容器里面过去即可。从以上两种开发方式的对比来看:我们 “丧失了一个权力” (创建、管理对象的原创 2021-08-07 20:48:34 · 266 阅读 · 0 评论 -
Java中高级工程师面试题及答案,Java面试题及答案汇总(二
需要注意Jdk 1.8中对HashMap的实现做了优化,当链表中的节点数据超过八个之后,该链表会转为红黑树来提高查询效率,从原来的O(n)到O(logn)24. 说一下 HashSet 的实现原理?HashSet底层由HashMap实现HashSet的值存放于HashMap的key上HashMap的value统一为PRESENT25. ArrayList 和 LinkedList 的区别是什么?最明显的区别是 ArrrayList底层的数据结构是数组,支持随机访问,而 Linke原创 2021-08-07 20:47:19 · 340 阅读 · 0 评论 -
java中间件、数据库与spring框架,JUC并发
private int number = 50;//创建锁对象Lock lock = new ReentrantLock();//卖票的方式public void sale(){ //加锁 lock.lock(); try { if (number >0){ System.out.println(Thread.currentThread().getName()+"卖出了第"+(number--)+"张票剩余"原创 2021-08-07 20:46:05 · 59 阅读 · 0 评论 -
Java中类创建对象时的代码执行顺序,腾讯T2大牛亲自讲解
1.静态属性属于类和所有对象,只在第一次加载类时被初始化一次,之后再加载类也不会进行初始化;静态代码块同理。2.属性初始化和代码块优先级一样,按照代码书写的先后顺序执行。(二)类加载时机(1)用new创建实例对象时,如果是子类创建对象,则父类也会被加载(2)使用静态成员时,通常为使用静态属性和静态方法 (三)测试代码public class CodeBlockDetail04 { public static void main(String[] args) {原创 2021-08-07 20:44:52 · 122 阅读 · 0 评论 -
Java中的几种线程池详解,鲁班学院一期
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.6.1</version>原创 2021-08-07 20:43:46 · 81 阅读 · 0 评论