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

java进阶|谈谈我对spring的理解

spring概述: spring是最受欢迎的企业级java应用程序开发框架,数以百万的来及世界各地的开发人员使用spring框架来创建性能好,易于测试,可重构的代码。...spring框架的核心特性是可以用于开发任何java应用程序,但是在java EE平台上构建web应用程序是需要扩展的。...--上述内容摘记于w3cSchool 上面讲述spring的基本介绍之后,就来谈谈学习spring这个框架的一点理解吧,我现在写这篇内容的时间节点是五月3号,对,这是五一期间写作的第二篇文章,但是现在写的文章要等到...10月1后进行发出来了,我不想每写一篇文章就发出来了,先让这样的文章沉淀一下,这样就不会导致自己为了写文章而写文章了。...,我理解的IOC和AOP的概念也仅仅停留在控制翻转,面向切面编程,但是java毕竟是面向对象编程,面向切面编程我不是很理解,然后就放在那里了,随着时间的流逝,也就是在实际的工作中用的越来越多,自己也逐渐明白了

54540

我对 Twitter 前 10 行源代码的理解

我很喜欢问的一个问题是:“解释一下 Twitter 源代码的前十几行”。 我认为这是一个很简单的测试,可以借此了解应聘者对前端基础知识的掌握程度。本文列出了这个问题的最佳答案。...我打开 Twitter.com,点击查看源代码并分享我的屏幕,然后要求他们逐行进行解释,他们想说多少就说多少。...通常,最佳的做法是将初始缩放比例设置为1,宽度设置为device-width,这让人们仍然可以根据自己的需要进行缩放。...Safari 不支持渐进式 Web 应用,你也无法在 iOS 上使用其他浏览器引擎,所以如果你想要类似于原生的体验,真的没有其他选择,当然,Twitter 是喜欢这种体验的。...12 更多有趣的代码 我一直很喜欢玩浏览器的检查器工具,看一看网站是如何制作的,我就是因为这个想出了这样的面试方法。尽管我自认为算是语义 HTML 方面的专家,但每次这样做时我都会学到一些新东西。

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

    我理解的低代码平台、表单生成器的核心

    前情回顾 上次的代码处理掉了拖拽的问题,当然这个拖拽问题是个非常简单的问题。这次要讨论的问题应该是低代码或者表单生成器的一个核心问题。 组件数据如何转化成右侧的配置表单?...表单生成器 和 低代码平台的异同 如果是简单的表单生成器,数据流就非常简单,右侧配置-->表单组件-->全局状态控制表单数据,提交表单时从全局获取表单数据即可。...因为它的表单组件非常简单,通常都是单个的数字,文本或者选项列表,字段比较好控制。 但是如果作为一个低代码平台的话,数据流就相对复杂。...然后配置项的数据更新后,依次将数据回传到组件中。这样,才是一个完整的过程。 难点在于如何将组件中的数据表示为一个可以展示右侧setter的数据格式。...比如一个组件中的数据如下: // test.vue ... data(){ return { msg:{ value:'test' } } } 这个时候就有可能需要先判断这个

    84410

    吐槽我见过的最烂的Java代码

    只针对spring框架,贴一份我见过最烂的代码(没有之一),我就想知道,有没有其他人能写出这样的代码?还有没有更加烂的编码方式?...问了一下开发人员,为什么这样写,他说一过来项目组里面的代码就是这样的,继续追下去原来是一个工作了多年的老开发人员定的代码框架,我就说嘛,开发新手也写不出这么烂的代码啊。...上面的代码简单说一下问题,第一,lang和业务没有什么关系,我后面的代码框架去掉了(不是说我后面的代码没有这个功能,是把他隐藏起来对开发人员透明了,使用的技术就是ThreadLocal)。...第二,前面那个代码,实际上干活的就只有一行,其他都和业务代码没有一毛钱关系,我的代码框架里面完全看不到了。 使用的技术真的很简单,但是编码效果非常好,因为大家不要因为使用的技术初级就觉得不重要!!...说实话,在我项目组的开发人员都是比较幸运的,觉得能学到东西,不是像其他项目组,写了几年都是一样的CRUD代码,虽然我比较严厉,但是还是愿意待在我项目组,毕竟加班比其他项目组少啊。

    69300

    我愿称 Java8 中 的 Stream API 为 Java 之神!

    比如要从数据库中获取所有年龄大于20岁的用户的名称,并按照用户的创建时间进行排序,用一条 SQL 语句就可以搞定,不过使用 Java 程序实现就会显得有些繁琐,这时候可以使用流: List<String....*; import static java.util.Comparator.*; Collectors 工具类为我们提供了用于汇总的方法,包括 summarizingInt(),summarizingLong...第一个原因容易理解,自动拆箱操作确实需要花费一定的时间,这从前一个例子可以看出来。 第二个原因中 iterate() 方法不适合用并行流处理,主要原因是 iterate() 方法内部机制的问题。...如:生成1-20范围的数字可以拆分成1-10, 11-20。 往期推荐 发现便捷,畅游互联网世界——【书签导航】带你领略全新体验! 历时3分钟,部署并上线了我的 ChatGPT-LX 网站! 震惊!...Java8 出 Bug了?break 失效!return 等同于 continue? 一行代码的高端操作 Enum + Stream 教你彻底干掉 if...else...

    33320

    我说说你对Java GC机制的理解?

    我说说你对Java GC机制的理解? 写在前面 使用Java快一年时间了,从最早大学时候对Java的憎恶,到逐渐接受,到工作中体会到了Java开发的各种便捷与福利,这确实是一门不错的开发语言。...在栈中,每一个方法对应一个栈帧,JVM会对Java栈执行两种操作:压栈和出栈。这两种操作在执行时都是以栈帧为单位的。还有一些即时编译器编译后的代码等数据。...5、本地方法栈 用来调用其他语言的本地方法,例如 C/C++写的本地代码, 这些方法在本地方法栈中执行,而不会在Java栈中执行。...并且,把内存一分为二,占用了将近一半的可用内存。用一段伪代码来实现大致为下。...老年代管理内存最早采用的算法为标记-清理算法,这个算法很好理解,结合 GC Root的定义,我们会把所有不可达的对象全部标记进行清除。 在清除前,黄色的为不可达对象。 在清除后,全部都变成可达对象。

    8210

    我是如何理解Java抽象类和接口的?

    一个原因就是,面试官对想要招的人完全没有自己的评价标准,另一个原因就是对面试者不负责。这种问题根本不能考验面试者的水平。...我觉得这可以考验面试者对问题的理解程度,我想微软的面试题(你如何向你奶奶解释Excel)一样,考验一个人对某一事物的理解程度(虽然,至今我还不能很好的想明白这个问题 -。...其实程序中也一样,比如所有的交通工具可以抽象为一个接口Drivable(可能由于经验原因,我考虑的不是很完善),表示实现这个接口的类创建的对象(比如:汽车,飞机,轮船等等)都是可以驾驶的 public...下面代码中的实现,我是参考了java.util.AbstractList中add(int location, E object)方法的设计,它的文档中写到: * @throws UnsupportedOperationException...drive()可以理解为: 默认情况下“汽车”是不能开的,你实现了一个汽车类后,需要Override这个方法,实现自己的drive方法 以java容器中的List举例 ?

    801100

    回顾15年我从嵌入式转至Java后端阅读的一些书籍,让我变成了自己想要的样子

    6、《从0到1》 硅谷创投教父、PayPal创始人作品,斯坦福大学改变未来的一堂课,为世界创造价值的商业哲学。在科技剧烈改变世界的今天,想要成功,你必须在一切发生之前研究结局。...本书对Java的知识点总结很到位,并为每个知识点列出了对应的例子代码,很适合初学者阅读。...10、《Java程序员修炼之道》 这本书首先介绍了Java 7的最新特性,最有用的是try(...) {}语句,可以实现资源的自动关闭;然后介绍了Java的一些高级知识:依赖注入、现代并发、类文件和字节码等...我的一篇读书笔记在这里:《Scala程序设计》阅读书摘 13、《代码整洁之道》 这本书是跟一帮书友一起看的,我们讨论的帖子在这里:Our Coders的讨论帖,这本书以Java语言为例子,教你如何写出可读...、可维护以及可扩展的代码,值得每个入行的新人仔细阅读,并在工作中实践。

    1.8K20

    我是这样理解--SVM,不需要繁杂公式的那种!(附代码)

    1.2 理解SVM:第一层 支持向量机,因其英文名为support vector machine,故一般简称SVM,通俗来讲,它是一种二类分类模型,其基本模型定义为特征空间上的间隔最大的线性分类器,其学习策略便是间隔最大化...在生活中我们都会认为没有威胁的才是最好的,比如拿成绩来说,自己考了第一名99分,而第二名紧随其后98分,那么就会有不安全的感觉,就会认为那家伙随时都有可能超过我。...OK,理解到这第二层,已经能满足绝大部分人一窥SVM原理的好奇心,针对于面试来说已经足够了。...逻辑回归相对来说模型更简单,好理解,特别是大规模线性分类时比较方便。...代码实现 新闻分类 GitHub:点击进入 6.

    1.1K11

    我是如何去看《深入理解Java虚拟机》这本书的

    如果当前程序正在执行一个Java方法,则程序计数器记录正在执行的Java字节码地址,如果当前线程正在执行一个Native方法,则程序计数器为空。 虚拟机栈和本地方法栈用于存放函数调用堆栈信息。...很多人分不清虚拟机栈和本地方法栈的区别,因为本地方法栈(Native Method Stacks)与虚拟机栈所发挥的作用是非常相似的,其区别不过是虚拟机栈为虚拟机执行Java方法(也就是字节码)服务,而本地方法栈则是为虚拟机使用到的...05 说下阅读感悟 周志明的《深入理解Java虚拟机》很好很强大,但阅读起来颇有点费劲,尤其是当你跟随作者的思路一直探究下去,开始会让你弄不清方向,难免有些你说的啥子的感觉。...但知识不得不学,于是天天看,反复看,就慢慢的理解了。...我其实不想说这种硬磨的方法有多好,我甚至不推荐,我建议大家阅读这本书时,由浅入深,有舍有得,先从宏观去理解去阅读,再慢慢深入,有条不紊的看下去。

    2.6K20

    这段代码我猜76.85%的Java程序员都看不懂

    Java 8 提供的一系列的语法糖和特性让Java又焕发了青春。虽然现在Java 16已经发布数月,Java 17还有不到一个月时间也要面世了。但是不少开发者依然使用着Java 8 。...你发任你发,我用Java 8。听说你Java 8 用的很溜?...来用这段代码考察一下你的Java 8的熟练度,不要怀疑,这段代码是可执行的: public interface O { interface $ { void $()...; } void O($ o); default O O() { return $::$; } }...不过通常我们不会这样写,写这样的代码可能会被同事打死。能写出这样的Java代码也需要一定的创造力,而阅读这样的代码需要一定的忍耐力。搞清楚这几行代码花了我近1小时的时间,你需要多长时间呢?

    41720

    在线求CR,你觉得我这段Java代码还有优化的空间吗?

    上周,因为要测试一个方法的在并发场景下的结果是不是符合预期,我写了一段单元测试的代码。写完之后截了个图发了一个朋友圈,很多人表示短短的几行代码,涉及到好几个知识点。 还有人给出了一些优化的建议。...// 再对关键字段做注意校验 } } 以上,就是我做了简化之后的单元测试的部分代码。...我们来看看上面的代码涉及到哪些知识点? 知识点 以上这段单元测试的代码中涉及到几个知识点,我这里简单说一下。...线程池 这里面因为要模拟并发的场景,所以需要用到多线程, 所以我这里使用了线程池,而且我没有直接用Java提供的Executors类创建线程池。...AtomicInteger 因为我在单测代码中,创建了10个线程,但是我需要保证只有一个线程可以执行成功。所以,我需要对失败的次数做统计。

    83730

    我的2023:几乎没写 Java 代码的一年,如何偿还技术债

    这一年的工作内容元旦前后去年11月末,疫情全面开放,几乎在那12月里,公司所有人都感染了。我也不例外,3天假期躺了3天。当时的我正在另一个部门支援做Xamarin。...因为经验不足,并没有像以往控制台调试前端那样快捷的定位画面问题。也没有保留像开发桌面软件那样的拖拽组件开发功能。年初记得没错的话,回到本组的时候还是居家办公,这回是写Java代码了,但又不完全写。...没错,虽然我是Java后端开发,但哪里需要哪里搬。这个项目测试完,到下一个还是测试工作。这样眨眼间来到了年中。年中好消息:终于可以开发了坏消息:写React一句去另一个部门做支援,又是六个月。...因为微软的一套都比较偏国外,英文薄弱的我最后查询无果。天无绝人之路,在有一次用MyBatis逆向生成代码的时候,发现应该可以采取这种方式来实现向导。...cap_first}() { return this.

    44970

    大一学妹对Java的Condition接口理解让我佩服,当面给她offer!

    这天,我还在安详的看书学习,学妹突然找我,问到:好学长,你懂 Condition 接口嘛?能教教我嘛? ? 看到学妹来了,我立马也精神了起来,说到: ?...Java 语言内置的管程里只有一个条件变量,而Lock&Condition实现的管程支持多个条件变量。 因为支持多个条件变量,能让代码可读性更好,实现也更容易。...同步 调用方需要等待结果 异步 不需要等待结果 那代码里如何实现异步呢?...调用方创建一个子线程,在子线程中执行方法调用,即异步调用 方法实现时,创建一个新的线程执行主要逻辑,主线程直接return,即异步方法。...异步场景挺多,比如TCP协议本身是异步的,日常的RPC调用,在TCP协议层面,发送完RPC请求后,线程不会等待RPC响应结果。 是不是好奇了,明明日常使用的RPC调用都是同步的呀?

    38020

    我的第四款编辑器:微信公众号上使用 Markdown 来显示代码

    这已经是我第四次写编辑器了~~~ 第一次是在三年前(2014年4月份),当时我听说有一个工具叫 Node-Webkit,于是我就结合CodeMirror撸了一个编辑器,界面如下: GitHub 地址:https...UI Alloy Editor GitHub地址:https://github.com/phodal/echeveria-editor 第三次是在去年,我们家 @花仲马 想要一个可以支持 QQ 音乐的微信编辑器...,好在这次的功能比较简单,我只需要一个可以支持代码高亮的转换工具——但是它看上去更像是一个转换工具。...过去,我们要这样截图来显示模糊的代码: 现在终于可以直接复制代码到编辑器上,然后复制到代码来玩~~: (function () { var input, output; var converter...false); updateOutput(); });})();$('document').ready(function () { new Clipboard('.btn');}); 上面这22行代码就是这个编辑器的核心代码

    1.7K80

    Java的BIO和NIO很难懂?用代码实践给你看,再不懂我转行!

    本文不会提到很多Java NIO和Java BIO的理论概念(需要的话请参见本文的“相关文章”一节),而是站在编码实践的角度,通过代码实例,总结了我自己对于Java NIO的见解。...有了代码实践的过程后再重新回头看理论概念,会有一个不一样的理解视角,希望能助你吃透它们!...9、Java中BIO和NIO的概念总结 通常一些文章都是在开头放上概念,但是我这次选择将概念放在结尾,因为通过上面的实操,相信大家对Java中BIO和NIO都有了自己的一些理解,这时候再来看概念应该会更好理解一些了...先来个例子理解一下概念,以银行取款为例: 1)同步 : 自己亲自出马持银行卡到银行取钱(使用同步IO时,Java自己处理IO读写); 3)异步 : 委托一小弟拿银行卡到银行取钱,然后给你(使用异步IO时...10、本文小结 本文介绍了一些关于JavaBIO和NIO从自己实操的角度上的一些理解,我个人认为这样去理解BIO和NIO会比光看概念会有更深的理解,也希望各位同学可以自己去敲一遍,通过程序的运行结果得出自己对

    2K20

    我用Java代码模拟出了德国二战的Enigma密码机加密

    这是一组电路的情况,现在让我们多添加几个电路 这也非常好理解,当开关按下,对应电路的灯泡将亮起;这非常容易理解 接下来,我们尝试重新组合电路,将灯泡与开关打乱,那么将会得到 仅仅就是改变了电路的位置,...那么我们不妨按下开关,会发生什么情况 当按下开关A,灯泡B亮了 当按下开关B,灯泡C亮了 当按下开关C,灯泡A亮了 到了这一步,你已经初步理解了Enigma密码机是如何工作的了,我在上面仅仅只有3个开关...除了对三个转子进行组合外,每个转子都有自己的状态,即转子当前的初始摆放刻度 在转子的环面上,刻上了1-26的数字,就是代表转子刻度 哪个数字显示,就代表了当前转子所处的刻度 这也就是Enigma密码机...、中间转子、右边转子 电流再次经过接插板(再看一遍混淆连线情况,有混淆的会以混淆的字母继续往后走) 这时候连接到对应的灯泡了,电流再经过电池 电路闭合,对应的灯泡亮起 三、Java代码还原 1)转子组...重头戏在于,加密方法的编写,我们从EnigmaMachine.java开始 给予两个加密重载方法encrypt() 注意看形参为char的方法,它的步骤就是我们上面分析的电路连通步骤 /**

    40240

    我在生产项目里是如何使用Redis发布订阅的?(二)Java版代码实现(含源码)

    上篇文章讲了在实际项目里的哪些业务场景用到Redis发布订阅,这篇文章就讲一下,在Java中如何实现的。...图解代码结构 发布订阅的理论以及使用场景大家都已经有了大致了解了,但是怎么用代码实现发布订阅呢?在这里给大家分享一下实现方式。 我们以上篇文章讲述的第三种使用场景为例,先来看一下整体实现类图吧。...代码实现 具体代码: 统一接口 ICacheUpdate.java public interface ICacheUpdate { public void update(); } Service...层 实现ICacheUpdate的update方法,执行具体的更新操作 InfoService.java public class InfoService implements ICacheUpdate...作用: 1、统一管理ICacheUpdate,把所有实现ICacheUpdate接口的类添加到updates容器 2、重写onMessage方法,订阅到消息后进行刷新缓存的操作 RedisMsgPubSub.java

    84940

    为将傅恒与魏璎珞的爱情上链,作为技术小白的我读了EVM上百行代码,终于搞定了

    作者 | Vasa TowardsBlockChain 联合创始人 编译 | kou、Guoxi 傅恒爱上了魏璎珞,我却因为他们的爱情学习了以太坊虚拟机!...因为小编想要用在以太坊上将他们的爱情上链,学习以太坊,就要了解以太坊虚拟机!...因此,深刻理解并熟练掌握以太坊虚拟机是以太坊开发者的基本功。...小编想把他们的爱情记录在区块链中,之前就看到过有人将爱情宣言永久记录在了以太坊区块链上,小编跃跃欲试,想要亲自试一下。想要学习以太坊,就要先了解什么是以太坊虚拟机。...检查存储位置2是否保存数组的长度,如下所示: 最后,检查存储位置3是否未使用,并且键值对映射的值是否保存在上文中所说的位置: 通过以上图表和详细的代码实例,你是否像小编一样很好地理解以太坊虚拟机?

    88830
    领券