首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

省市县三级数据联动 -Java

省市县三级数据联动 需求:实现省市县三级联动问题,责任继续划分,需要Java后端封装省市县三层数据返回给前端。于是乎开始探索之旅。...DomesticRegionResp> child; //子级元素集合 } 第三步:后端实现代码数据的封装 尝试一: 思路:首先查询所有的省份和直辖市信息,最后根据省份的ID和直辖市的ID查询它的第二级和第三级...province.getCodeId())) .collect(Collectors.toList()); // 步骤三: 根据市级ID取得县信息或者区信息 (第三级...java.lang.String.valueOf(String.java:2994) at java.lang.StringBuilder.append(StringBuilder.java:131)...list.removeIf( f -> f.getParentId().equals(province.getCodeId())); // 步骤三: 根据市级ID取得县信息或者区信息 (第三级

2.4K20
您找到你想要的搜索结果了吗?
是的
没有找到

三级缓存

当你听到三级缓存的时候,你在想什么?你了解过的有哪些三级缓存?CPU三级缓存?Spring三级缓存?应用架构(JVM、分布式缓存、db)三级缓存?...今天爬完香山,趁自己还不困的时候,把三级缓存的一些重点絮叨絮叨。 CPU三级缓存 离 CPU 核心越近,缓存的读写速度就越快。但 CPU 的空间很狭小,离 CPU 越近缓存大小受到的限制也越大。...所以,综合硬件布局、性能等因素,CPU 缓存通常分为大小不等的三级缓存。...三级缓存要比一、二级缓存大许多倍,这是因为当下的 CPU 都是多核心的,每个核心都有自己的一、二级缓存,但三级缓存却是一颗 CPU 上所有核心共享的。...Spring三级缓存 Spring三级缓存机制包括以下三个缓存:1. singletonObjects:用于存储完全创建好的单例bean实例。

63420

Spring三级缓存

Spring三级缓存 循环依赖 如何解决循环依赖 三级缓存解决循环依赖 三级缓存解决流程 模拟流程 aop与循环依赖 ---- 循环依赖 循环依赖如下图所示: 对应的spring代码形式如下: @...---- 模拟流程 这里我们可以模拟一下Spring三级缓存解决循环依赖的过程: getBean(A),首先查询三级缓存,因为是第一次创建,因此三级缓存没有,直接返回。...实例化A之后,构造相应的单例工厂,加入三级缓存,进入属性赋值阶段,发现依赖B,去getBean(B) getBean(B),首先查询三级缓存,因为是第一次创建,因此三级缓存没有,直接返回。...实例化B之后,构造相应的单例工厂,加入三级缓存,进入属性赋值阶段,发现依赖A,去getBean(A) getBean(A),首先查询三级缓存,因为A还没初始化完毕,因此还没有被放入一级缓存中去,此时二级缓存也没有...,然后发现三级缓存有 从三级缓存中取出对应的单例工厂,然后将提前暴露的A放入二级缓存,并从三级缓存移除对应的单例工厂 直接返回缓存中的A B进行初始化,然后进行循环依赖最后的校验,发现二级缓存中不存在提前暴露的

57720

spring 三级缓存

AService提前进行AOP aService Bean的生命周期 creatingSet 实例化-- -AService不完整对象 (new AService()) 原始对象— >第三级缓存...填充aService属性-- >从单例池找aService—>找不到–>aService正在创建中-- >aService出现了循环—>第二级缓存—>第三级缓存–>执行lambda—>--- >提前AOP...:singletonFactories HashMap 一级缓存存的是完整的对象 二级缓存和三级缓存存的是不完整的对象 一级缓存使用...ConcurrentHashMap保证原子性 二级缓存和三级缓存两个是一个原子操作 使用synchronized来保证 protected Object getSingleton(String beanName...&& allowEarlyReference) { // 当某些方法需要提前初始化的时候则会调用addSingletonFactory方法将对应的ObjectFactory初始化策略存储在三级缓存

31710

浅谈spring三级缓存

三级缓存就是三个map,singletonObjects是一级缓存,存放完整对象,singletonFactories是二级缓存,存放半成品对象,earlySingletonObjects是三级缓存,存放...a发现需要b对象,但是三级缓存没有b,于是创建b的半成品放入三级缓存, b发现需要a对象,一二级缓存没有,在三级缓存发现,于是将a放入二级缓存,同时删除三级缓存的a,如果a被代理则使用代理对象 a注入到...为什么不直接将lambda放入二级缓存,非要使用三级缓存?...三级缓存实现aop(代理对象实例化的时候,实例化对象是原始对象,若没有三级缓存,此时若根据类名直接获取对象的话,获取的是原始对象,而我们想要的肯定是通过类名直接获取代理对象,所以Spring在类加载过程中...,直接将实例化的对象放入三级缓存中,从三级缓存中获取类对象的时候,判断类是否被代理,若被代理则返回代理对象) 其实就是三级缓存存入的lambda可以根据需要的生成原始bean或者代理bean,如果只用二级缓存那么只能拿到原始

17520

三级三级域名是什么 如何选择域名代理商

相信很多人都听说过顶级域名,三级三级域名是什么? 三级三级域名是什么 其实三级域名和顶级域名有着很大的联系,三级三级域名是什么?它主要是二级域名的子域名,我们都知道域名是由两个或两个以上的词组成的。...而三级域名是比较靠后的,如果我们想要知道哪一个是三级域名,可以从左向右依次来看,第一个往往顶级域名,然后是二级域名,后面的就是三级域名了。域名记忆起来是很简单的,所以很多的网站都会使用域名。...一般来说,比较大的网站会使用三级域名。...上面和大家介绍了三级三级域名是什么,如果认真地阅读了上面的内容,大家应该就知道三级域名是什么了。多了解一下域名,可以帮助大家更好的建设网站,也可以更好地使用域名,希望上面的这些内容能够帮助到大家。

6.4K20

Java程序员的错

Java程序员是有问题的。我使用 Java 编程已经有 10 多年的历史。...有越来越多的程序员开始退后一步用整体的眼光认识 Java,他们发现,作为一种编程模式,面向对象真的是相当的糟糕。然而,Java 是最大限度的根植于面向对象模式,如果没有面向对象,Java 寸步难行。...虽然 Java 语言非常的流行,在企业软件开发里被普遍的采用,但这一点都无助于 Java 编程质量的提高。我坦白的说,你在各种企业产品里看到的大量的 Java 代码都是由非常低质量的程序员写出来的。...Java 程序员无能为力——让他们开发一个小功能,你必然会看到一个继承 15 层的类工厂(factory)的出现。...我是一个 Android 程序员,我讨厌 Java。它让我很受伤。 英文原文:Java Developers 译文链接:http://www.techug.com/java-developers

48110

Java程序员的错

Java程序员是有问题的。我使用 Java 编程已经有 10 多年的历史。...有越来越多的程序员开始退后一步用整体的眼光认识 Java,他们发现,作为一种编程模式,面向对象真的是相当的糟糕。然而,Java 是最大限度的根植于面向对象模式,如果没有面向对象,Java 寸步难行。...虽然 Java 语言非常的流行,在企业软件开发里被普遍的采用,但这一点都无助于 Java 编程质量的提高。我坦白的说,你在各种企业产品里看到的大量的 Java 代码都是由非常低质量的程序员写出来的。...Java 程序员无能为力——让他们开发一个小功能,你必然会看到一个继承 15 层的类工厂(factory)的出现。...我是一个 Android 程序员,我讨厌 Java。它让我很受伤。 英文原文:Java Developers 译文链接:http://www.techug.com/java-developers

51420

Java程序员修炼之路

Java从出道至今已有10多年的历史,Java初级程序员是最底层的,只需要掌握Java的基础知识就能够成为一名初级程序员。...Java程序员可以有三个进阶方向,分别是Android移动端开发(以下简称Android)、Web开发(以下简称Web)和通讯开发。这时目前主流的三大方向。其中最多的是Android和Web。...而Java高级程序员则需要了解更多的框架和一些常用的应用服务器,如工作流、搜索引擎、缓存、JTA、JBoss、WebLogic等。 达到高级程序员水平后,很多人在这个阶段选择了不同的方向。...程序员的区别 同样是程序员,初级、中级与高级的区别在哪里呢?...这些基本上都是初级程序员写的代码。中级程序员更喜欢优雅的代码,而自己写出优雅的代码,封装、继承、抽象运用自如,能够独立完成系统中模块的开发。

63320
领券