- 博客(731)
- 资源 (27)
- 收藏
- 关注
原创 Spring Boot 2.X系列教程:七天从无到有掌握Spring Boot-持续更新
文章目录简介Spring Boot的基本操作Spring Boot的构建和部署Spring Boot工具Spring Boot的测试Spring Boot中使用JPASpring Boot和第三方系统的集成总结简介自从Spring横空出世之后,Spring就成了事实上的J2EE标准。Spring作为一个轻量级的J2EE应用框架,就是针对EJB的复杂特性而设计的,最后毫无疑问,Spring凭借它的简洁,可理解性和可用性赢得了最后的胜利。Spring从最初的xml配置到后面的注解配置,一直都在不断的进步,
2020-05-20 06:50:27 19144 12
原创 Spring 5.X系列教程:满足你对Spring5的一切想象-持续更新
是什么让java世界变得更好,程序员变得更友爱,秃头率变得不是那么的高,让程序员不必再每天996,有时间找个女朋友?是Spring。是什么让企业级java应用变得简单易懂,降低了java程序员的进入门槛,导致了现在遍地都是java程序员的窘境?是Spring。是什么从无冕之王变成了事实上的企业标准,让规则制定者也要颤抖几分?是Spring。简单的说,Spring满足了你们对于java程序的所有想象。是个java程序员都会投入Spring的怀抱。今天这篇文件就是对Spring基础的总结。
2020-05-20 06:30:50 19324 14
原创 java程序员从小工到专家成神之路(2020版)-持续更新中,附详细文章教程
java作为第一大编程语言,可谓源远流长,一代又一代的java程序员前仆后继走在java学习的路上。java程序员的学习之路在2020年又有什么变化呢?本文详细附上了每一个部分所需知识的教程链接地址,并会持续更新,希望能够和大家一起进步!
2020-04-13 10:16:38 21986 8
原创 如何在langchain中对大模型的输出进行格式化
虽然langchain中的有些parser我们可以自行借助python语言的各种工具来实现。但是有一些parser实际上是要结合LLM一起来使用的,比如OutputFixingParser和RetryOutputParser。所以大家还是尽可能的使用langchain提供的parser为好。毕竟轮子都给你造好了,还要啥自行车。
2023-11-27 09:32:48 340
原创 langchain中的chat models介绍和使用
chat models是LLM的高阶表现形式。如果我们需要进行对话模型的话,就可以考虑使用这个。更多内容请参考最通俗的解读,最深刻的干货,最简洁的教程,众多你不知道的小技巧等你来发现!欢迎关注我的公众号:「程序那些事」,懂技术,更懂你!
2023-11-09 16:48:43 334
原创 深入探讨I/O模型:Java中的阻塞和非阻塞和其他高级IO应用
本文深入探讨了Java中的同步、异步、阻塞和非阻塞I/O模型,提供了示例代码来说明它们的工作原理和应用场景。选择正确的I/O模型对于应用程序的性能和响应性至关重要,因此我们鼓励读者深入了解这些模型,以便更好地选择和应用它们。
2023-10-20 16:28:13 172
原创 Java IO 与 NIO:高效的输入输出操作探究
Java NIO(New I/O)引入了新的IO模型,主要由通道(Channels)和缓冲区(Buffers)组成。NIO提供了非阻塞和多路复用的特性,使其成为处理大量并发连接的理想选择。让我们了解一下NIO的核心概念。通过本文,我们深入探讨了Java中的IO和NIO,以及它们的应用。了解如何选择合适的IO类型和使用适当的工具,可以帮助开发人员实现高效的输入输出操作,提高应用程序的性能和可伸缩性。鼓励读者在实际开发中深入研究和应用IO和NIO,以满足不同应用的需求。更多内容请参考。
2023-10-17 09:32:08 93
原创 解锁Java面试中的锁:深入了解不同类型的锁和它们的用途
锁及其应用。锁在多线程编程中扮演着重要的角色,确保共享资源的安全访问,同时也影响到应用程序的性能和可伸缩性。了解不同类型的锁以及它们的用途对于编写多线程程序至关重要。通过谨慎选择和正确使用锁,开发人员可以确保应用程序的正确性、性能和可伸缩性。在多线程编程中,锁是实现线程安全的关键工具,也是高效并发的基础。更多内容请参考最通俗的解读,最深刻的干货,最简洁的教程,众多你不知道的小技巧等你来发现!欢迎关注我的公众号:「程序那些事」,懂技术,更懂你!
2023-09-26 11:05:58 99
原创 深入探讨Java面试中内存泄漏:如何识别、预防和解决
本文涵盖了内存泄漏问题在Java应用程序中的重要性以及如何识别、预防和解决这些问题。内存泄漏是Java应用程序中常见的问题之一,可能导致内存占用不断增加,性能下降,甚至应用程序崩溃。因此,及早发现和解决内存泄漏问题至关重要。内存泄漏的迹象包括内存占用不断增加、长时间运行后性能下降和频繁的垃圾回收。常见的内存泄漏模式包括对象引用未释放、资源未释放、匿名内部类、监听器注册和线程泄漏。良好的对象引用管理和资源释放是预防内存泄漏的关键。使用弱引用和软引用来管理临时性引用,并避免静态集合存储对象引用。
2023-09-22 15:28:57 135
原创 Java并发Map的面试指南:线程安全数据结构的奥秘
在计算机软件开发的世界里,多线程编程是一个重要且令人兴奋的领域。然而,与其引人入胜的潜力相伴而来的是复杂性和挑战,其中之一就是处理共享数据。当多个线程同时访问和修改共享数据时,很容易出现各种问题,如竞态条件和数据不一致性。本文将探讨如何在Java中有效地应对这些挑战,介绍一种强大的工具——并发Map,它能够帮助您管理多线程环境下的共享数据,确保数据的一致性和高性能。
2023-09-19 09:49:08 143
原创 java中有哪些并发的List?只知道一种的就太逊了
Java提供了多种支持并发的容器,如ArrayList、CopyOnWriteArrayList、ConcurrentLinkedDeque。了解它们的用法和性能特点对于编写高效的多线程程序至关重要。选择正确的容器可以显著提高应用程序的性能和可靠性。更多内容请参考最通俗的解读,最深刻的干货,最简洁的教程,众多你不知道的小技巧等你来发现!欢迎关注我的公众号:「程序那些事」,懂技术,更懂你!
2023-09-14 14:52:05 95
原创 杰哥教你面试之一百问系列:java集合
Java集合是用于存储、管理和操作一组对象的类和接口的集合。集合框架提供了多种不同类型的集合实现,以满足不同的需求,包括列表、集合、映射等。集合框架位于java.util包下,它提供了一组接口和类,用于存储和操作对象,使得数据处理更加方便和高效。迭代器是集合框架中的一个接口,用于遍历集合中的元素。它提供了一种统一的方式来访问集合中的元素,而不需要关心集合的具体实现。通过迭代器,可以按顺序逐个访问集合中的元素,而不需要暴露集合内部的结构。
2023-09-12 09:02:39 106
原创 杰哥教你面试之一百问系列:java中高级多线程concurrent的使用
SemaphoreSemaphoreFutureExecutorAtomicLockExchangerSemaphorePhaserExchangerSemaphoreSemaphore线程安全是指在多线程环境下,程序或系统能够正确地处理并发访问共享资源而不产生数据不一致、死锁、竞态条件等问题。实现线程安全的目标是保障多线程环境下的数据一致性和正确性。使用锁机制(如关键字或类)来保证在同一时间只有一个线程能够访问临界区(共享资源),其他线程需要等待锁的释放。使用包中的并发集合类,如。
2023-09-07 13:55:57 172
原创 杰哥教你面试之一百问系列:java多线程
java多线程是java面试中的高频问题,如何才能在面试中脱颖而出呢?熟读这里的一百个java多线程面试问题即可。
2023-09-01 09:50:47 182
原创 langchain中的LLM模型使用介绍
LLM是大语言模型最基础的模式,chat模式的底层就是基于LLM实现的。后续我们会详细介绍chat模式,尽请期待。
2023-08-29 13:52:24 371
原创 在langchain中使用自定义example selector
在之前的文章中,我们提到了可以在跟大模型交互的时候,给大模型提供一些具体的例子内容,方便大模型从这些内容中获取想要的答案。这种方便的机制在langchain中叫做FewShotPromptTemplate。如果例子内容少的话,其实无所谓,我们可以把所有的例子都发送给大语言模型进行处理。但是如果例子太多的话,每次都发送如此多的内容,会让我们的钱包承受不住。毕竟那些第三方的大语言模型是按token收费的。怎么办呢?能不能找到一个经济又有效的方法来完成我们的工作呢?
2023-08-08 13:52:23 1101
原创 在langchain中使用带简短知识内容的prompt template
如果你有一些简单的内容需要提供给大语言模型,那么可以使用这个方式。但是如果你有很多内容的话,比如知识库。这种实现就处理不了了。那么如何构建一个知识库应用呢?我们后续分享。
2023-07-27 13:43:08 967
原创 langchain:Prompt在手,天下我有
prompts是大语言模型的输入,他是基于大语言模型应用的利器。没有差的大语言模型,只有差的prompts。写好prompts才能发挥大语言模型300%的功力。理论上,要写好prompts其实不是那么容易的,但是langchain把这个理论变成了现实,一起来看看吧。prompt template就是一个prompt的模板,通过prompt template,我们可以快速的生成多个prompt。基本上prompt template已经帮我们描述好了场景,要做的事情。我们只需要填入具体的内容即可。
2023-07-11 09:38:09 165
原创 大语言模型的开发利器langchain
最近随着chatgpt的兴起,人工智能和大语言模型又再次进入了人们的视野,不同的是这一次像是来真的,各大公司都在拼命投入,希望能在未来的AI赛道上占有一席之地。因为AI需要大规模的算力,尤其是对于大语言模型来说。大规模的算力就意味着需要大量金钱的投入。那么对于小公司或者个人来说是不是什么都做不了呢?当然不是,虽然小公司或者个人不能开发底层的大语言模型,但是我们可以在大语言模型之上进行应用开发,这应该就是我们现在能做到的。
2023-06-28 09:51:41 733
原创 flutter系列之:做一个图像滤镜
很多时候,我们需要一些特效功能,比如给图片做个滤镜什么的,如果是h5页面,那么我们可以很容易的通过css滤镜来实现这个功能。那么如果在flutter中,如果要实现这样的滤镜功能应该怎么处理呢?一起来看看吧。到目前为止,一切看起来都很好。但是如果你仔细研究的话可能会产生一个疑问。?0).round();if (page!= _page) {那么这个page是如何变化的呢?什么时候从0变成1呢?除了初始化的initialPage之外,还有一个viewportFraction。
2023-06-16 13:46:00 931
原创 flutter系列之:做一个会飞的菜单
flutter中自带了drawer组件,可以实现通用的菜单功能,那么有没有一种可能,我们可以通过自定义动画来实现一个别样的菜单呢?答案是肯定的,一起来看看吧。'迟日江山丽','春风花草香','泥融飞燕子','沙暖睡鸳鸯',],++i) {Padding(),),在flutter中一切皆可动画,我们只需要掌握动画创作的诀窍即可。
2023-06-06 13:46:58 530
原创 flutter系列之:做一个下载按钮的动画
我们在app的开发过程中经常会用到一些表示进度类的动画效果,比如一个下载按钮,我们希望按钮能够动态显示下载的进度,这样可以给用户一些直观的印象,那么在flutter中一个下载按钮的动画应该如何制作呢?一起来看看吧。基本上有4个状态,分别是没有下载,准备下载但是还没有获取到下载的资源链接,获取到下载资源正在下载中,最后是下载完毕。这里我们需要自定义一个DownloadButton组件,这个组件肯定是一个StatelessWidget,所有的状态信息都是由外部传入的。
2023-05-24 16:13:21 568
原创 flutter系列之:使用AnimationController来控制动画效果
之前我们提到了flutter提供了比较简单好用的AnimatedContainer和SlideTransition来进行一些简单的动画效果,但是要完全实现自定义的复杂的动画效果,还是要使用AnimationController。今天我们来尝试使用AnimationController来实现一个拖拽图片,然后返回原点的动画。AnimationController是一个很强大的组件,但是使用起来也不是那么的复杂, 我们只需要定义好起点和终点,然后指定动画效果即可。
2023-05-17 11:20:09 546
原创 flutter系列之:做一个修改组件属性的动画
什么是动画呢?动画实际上就是不同的图片连续起来形成的。flutter为我们提供了一个AnimationController来对动画进行详尽的控制,不过直接是用AnimationController是比较复杂的,如果只是对一个widget的属性进行修改,可以做成动画吗?答案是肯定的,一起来看看吧。如果你只是希望使用简单的widget动画,那么AnimatedContainer可能是你最好的选择。
2023-05-09 14:23:20 177
原创 flutter系列之:如何自定义动画路由
flutter中有默认的Route组件,叫做MaterialPageRoute,一般情况下我们在flutter中进行跳转的话,只需要向Navigator中传入一个MaterialPageRoute就可以了。但是MaterialPageRoute太普通了,如果我们想要做点不同的跳转特效应该如何处理呢?一起来看看吧。如果要实现特定的路由动画,那么需要进行路由的自定义。在flutter中也就是要使用PageRouteBuilder来自定义一个Route。})
2023-04-19 16:32:13 691
原创 这样也行,在lambda表达式中优雅的处理checked exception
最近发现很多小伙伴还不知道如何在lambda表达式中优雅的处理checked exception,所以今天就重点和大家来探讨一下这个问题。lambda表达式本身是为了方便程序员书写方便的工具,使用lambda表达式可以让我们的代码更加简洁。可能大多数小伙伴在使用的过程中从来没有遇到过里面包含异常的情况,所以对这种在lambda表达式中异常的处理可能没什么经验。不过没关系,今天我们就来一起探讨一下。以上就是如何在lambda表达式中优雅的进行异常转换的例子了。大家使用的过程中一定要注意最后对异常的捕获。
2023-04-12 20:27:52 789 1
原创 flutter系列之:在flutter中使用相机拍摄照片
在app中使用相机肯定是再平常不过的一项事情了,相机肯定涉及到了底层原生代码的调用,那么在flutter中如何快速简单的使用上相机的功能呢?一起来看看吧。摄像头是app中常用的功能,flutter中的camera插件为我们提供了摄像头的控制功能,非常简单。
2023-04-04 18:38:44 1031
原创 flutter系列之:在flutter中使用媒体播放器
现在的app功能越来越强大,除了基本的图文之外,还需要各种各样的其他的功能,比如视频,和直播。直播可能会比较复杂,因为涉及到了拉流和推流,需要服务器端的支持,但是视频播放就比较简单了,那么如何在flutter中使用媒体播放器呢?一起来看看吧。这样一个可以播放外部视频的app就做好了,运行之后它的界面是这样的:大家可以在这个播放器的基础上进行扩张,一个属于你自己的视频APP就完成了。
2023-03-28 16:41:27 3174
原创 还在stream中使用peek?不要被这些陷阱绊住了
自从JDK中引入了stream之后,仿佛一切都变得很简单,根据stream提供的各种方法,如map,peek,flatmap等等,让我们的编程变得更美好。事实上,我也经常在项目中看到有些小伙伴会经常使用peek来进行一些业务逻辑处理。那么既然JDK文档中说peek方法主要是在调试的情况下使用,那么peek一定存在着某些不为人知的缺点。一起来看看吧。peek方法接受一个Consumer参数,返回一个Stream结果。accept对传入的参数T进行处理,但是并不返回任何结果。.toList();
2023-03-21 15:22:38 497 3
原创 flutter系列之:创建一个内嵌的navigation
我们在flutter中可以使用Navigator.push或者Navigator.pushNamed方法来向Navigator中添加不同的页面,从而达到页面调整的目的。一般情况下这样已经足够了,但是有时候我们有多个Navigator的情况下,上面的使用方式就不够用了。比如我们有一个主页面app的Navigator,然后里面有一个匹配好友的功能,这个功能有多个页面,因为匹配好友功能的多个页面实际上是一个完整的流程,所以这些页面需要被放在一个子Navigator中,并和主Navigator区分开。
2023-03-13 15:41:23 149
原创 还不知道如何在java中终止一个线程?快来,一文给你揭秘
工作中我们经常会用到线程,一般情况下我们让线程执行就完事了,那么你们有没有想过如何去终止一个正在运行的线程呢?今天带大家一起来看看。线程不能调用stop来终止主要是因为不会抛出异常,从而导致一些安全和数据不一致的问题。所以,最好的方式就是调用interrupt方法来处理。本文的例子更多文章请看。
2023-03-09 11:04:12 116
原创 flutter系列之:在flutter中自定义themes
一般情况下我们在flutter中搭建的app基本上都是用的是MaterialApp这种设计模式,MaterialApp中为我们接下来使用的按钮,菜单等提供了统一的样式,那么这种样式能不能进行修改或者自定义呢?答案是肯定的,一起来看看吧。那么如何使用自定义themes呢?有两种方式。),但是这种操作实际是传入了一个全新的ThemeData,假如我们只想修改部分ThemeData中的数据应该如何处理呢?
2023-03-06 11:16:25 348
原创 flutter系列之:Navigator的高级用法
上篇文章我们讲到了flutter中navigator的基本用法,我们可以使用它的push和pop方法来进行Router之间的跳转。在flutter中一个Router就是一个widget,但是在Android中,一个Router就是Activity,在IOS中,一个Router是一个ViewController。Router除了之前讲过的push和pop方法之外,还有一些更加高级的用法,一起来看看吧。
2023-02-27 15:29:25 226
原创 flutter系列之:在flutter中使用导航Navigator
一个APP如果没有页面跳转那么是没有灵魂的,页面跳转的一个常用说法就是Navigator,flutter作为一个最为优秀的前端框架,Navigator肯定是必不可少的,那么在flutter中如何使用Navigator呢?一起来看看吧。Navigator是每个flutter app都少不了的组件,希望大家能够掌握。
2023-02-20 14:46:48 1142
原创 flutter系列之:使用SliverList和SliverGird
在上一篇文章我们讲解SliverAppBar的时候有提到过,Sliver的组件一般都用在CustomScrollView中。除了SliverAppBar之外,我们还可以为CustomScrollView添加List或者Grid来实现更加复杂的组合效果。今天要向大家介绍的就是SliverList和SliverGird。在CustomScrollView中使用SliverList和SliverGird,可以实现灵活的呈现效果。
2023-02-13 15:59:17 738
原创 快速上手python的简单web框架flask
python可以做很多事情,虽然它的强项在于进行向量运算和机器学习、深度学习等方面。但是在某些时候,我们仍然需要使用python对外提供web服务。比如我们现在有一个用python写好的模型算法,这个模型算法需要接收前端的输入,然后进行模拟运算,最终得到最后的输出。这个流程是一个典型的web服务,与其我们使用java或者nodejs来搭建一个web服务器,不如我们就使用python自己的web框架来实现这一目标,减少技术栈的同时,还可以实现代码逻辑的统一,何乐而不为呢?
2023-02-06 17:23:47 463
原创 在spring boot3中使用native image
在之前spring boot3文章中我们介绍了,spring boot3的一个重要特性就是支持把spring boot3的应用编译成为GraalVM的Native Image。今天我们用具体的例子来给大家演示一下如何正确的将spring boot3的应用编译成为native image。从运行情况来看,native-image的启动速度非常快,应该可以提升不少的性能。感兴趣的小伙伴赶紧用起来吧。本文的例子。
2023-01-30 17:52:06 1013
原创 Spring Boot 3.0横空出世,快来看看是不是该升级了
Spring boot 3.0于2022年11月正式发布了,这次的发布对于我们普通程序员的影响有多少呢?我们是不是需要考虑立马升级到Spring Boot3.0呢?别急,看完这篇文章再来做决定也不迟。
2023-01-09 14:56:42 5530 4
原创 flutter系列之:flutter中listview的高级用法
一般情况下,我们使用Listview的方式是构建要展示的item,然后将这些item传入ListView的构造函数即可,通常情况下这样做是够用了,但是不排除我们会有一些其他的特殊需求。今天我们会来讲解一下ListView的一些高级用法。ListView是我们在应用中会经常用到的一种widget,希望大家能够灵活掌握。
2023-01-03 17:36:21 412
原创 flutter系列之:移动端手势的具体使用
之前我们介绍了GestureDetector的定义和其提供的一些基本的方法,GestureDetector的好处就是可以把任何一个widget都赋予类似button的功能。今天将会通过几个具体的例子来讲解一下GestureDetector的具体使用。以上就是日常手势的基本使用了,我们可以通过GestureDetector,InkWell和Dismissible来和手势进行结合来实现相应的功能。更多内容请参考最通俗的解读,最深刻的干货,最简洁的教程,众多你不知道的小技巧等你来发现!
2022-12-19 20:01:25 348
java-collection-all-in-one.pdf
2020-10-26
JDK14GC-cheatsheet.pdf
2020-07-24
JDK13GC-cheatsheet.pdf
2020-07-24
JDK12GC-cheatsheet.pdf
2020-07-24
JDK11GC-cheatsheet.pdf
2020-07-22
JDK10GC-cheatsheet.pdf
2020-07-16
JDK9GC-cheatsheet.pdf
2020-06-26
JDK8GC-cheatsheet.pdf
2020-06-22
Spring5.1中文参考指南.pdf
2019-11-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人