自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(134)
  • 收藏
  • 关注

原创 Nginx高级课程-高效(二)

Lua 是由巴西里约热内卢天主教大学(Pontifical Catholic University of Rio de Janeiro)里的一个研究小组于1993年开发的一种轻量、小巧的脚本语言,用标准 C 语言编写,其设计目的是为了嵌入应用程序中,从而为应用序提供灵活的扩展和定制功能。官网:http://www.lua.org/EmmyLua插件")数字类型Lua的数字只有double型,64bits你可以以如下的方式表示数字num = 1024。

2024-02-21 11:30:00 1593

原创 Nginx高级课程-高效

strace一般应用为静态文件元数据信息缓存sendfile执行过程close(11)max缓存最大数量,超过数量后会使用LRU淘汰inactive 指定时间内未被访问过的缓存将被删除被访问到多少次后会开始缓存间隔多长时间去检查文件是否有变化对错误信息是否缓存。

2024-02-20 09:30:00 1559

原创 Nginx高级课程扩容(五)

cache-control expires 强制缓存页面首次打开,直接读取缓存数据,刷新,会向服务器发起请求etag lastmodify 协商缓存没发生变化 返回304 不发送数据last-modified 与ssi的冲突浏览器缓存原则● 多级集群负载时last-modified必须保持一致● 还有一些场景下我们希望禁用浏览器缓存。比如轮训api上报数据数据● 浏览器缓存很难彻底禁用,大家的做法是加版本号,随机数等方法。

2024-02-19 10:00:00 756

原创 Nginx高级课程扩容(四)

● 官网● 下载 两个项目● 解压缩或--add-dynamic-module=brotli目录● make● 将 ngx_http_brotli_filter_module.so ngx_http_brotli_static_module.so 拷贝到 /usr/local/nginx/modules/● 复制nginx主程序● 配置文件中添加brotli on;默认http协议是没有br的。

2024-02-18 07:45:00 829

原创 Nginx高级课程扩容(三)

● 初始化● 与上游服务器建立连接● 向上游服务器发送请求● 处理响应头● 处理响应体● 结束set_header设置header与上游服务器连接超时时间、快速失败定义nginx向后端服务发送请求的间隔时间(不是耗时)。默认60秒,超过这个时间会关闭连接后端服务给nginx响应的时间,规定时间内后端服务没有给nginx响应,连接会被关闭,nginx返回504 Gateway Time-out。默认60秒缓冲区。

2024-02-17 08:30:00 876

原创 Nginx高级课程扩容(二)

【代码】Nginx高级课程扩容(二)

2024-02-16 07:30:00 345

原创 Nginx高级-扩容

通过扩容提升整体吞吐量。

2024-02-15 15:12:44 1049

原创 YARN介绍

YARN 是一个资源管理、任务调度的框架,主要包含三大模块:ResourceManager(RM)、其中,ResourceManager 负责所有资源 的 监 控 、 分配 和 管 理;ApplicationMaster 负 责 每 一 个 具体 应 用 程序 的 调 度 和 协调;NodeManager 负责每一个节点的维护。对于所有的 applications,RM 拥有绝对的控制权和对资 源的分配权。而每个 AM 则会和 RM 协商资源,同时和 NodeManager 通信来执行和监控 task。

2024-01-27 11:00:00 880

原创 Storm

Storm 是一个免费并开源的分布式实时计算系统。利用 Storm 可以很容易做到可靠地处理无限的数据流,像 Hadoop 批量处理大数据一样,Storm 可以实时处理数据。

2024-01-26 07:00:00 927

原创 Spark介绍

Spark 提供了一个全面、统一的框架用于管理各种有着不同性质(文本数据、图表数据等)的数据集和数据源(批量数据或实时的流数据)的大数据处理的需求。Spark Core包含 Spark 的基本功能;尤其是定义 RDD 的 API、操作以及这两者上的动作。其他 Spark 的库都是构建在 RDD 和 Spark Core 之上的Spark SQL提供通过 Apache Hive 的 SQL 变体 Hive 查询语言(HiveQL)与 Spark 进行交互的 API。每个。

2024-01-25 09:00:00 882

原创 加密算法、分布式缓存与Hadoop

高级加密标准(AES,Advanced Encryption Standard)为最常见的对称加密算法(微信小程序加密传输就是用这个加密算法的)。对称加密算法也就是加密和解密用相同的密钥,具体的加密流程如下图:RSA 加密算法是一种典型的非对称加密算法,它基于大数的因式分解数学难题,它也是应用最广泛的非对称加密算法。非对称加密是通过两个密钥(公钥-私钥)来实现对数据的加密和解密的。公钥用于加密,私钥用于解密。

2024-01-24 07:30:00 991

原创 数据结构介绍(一)

栈(stack)是限制插入和删除只能在一个位置上进行的表,该位置是表的末端,叫做栈顶(top)。它是后进先出(LIFO)的。对栈的基本操作只有 push(进栈)和 pop(出栈)两种,前者相当于插入,后者相当于删除最后的元素。

2024-01-23 07:00:00 1651

原创 JAVA算法介绍(二)

N=(V,{E})是一个连通网,U 是顶点集 V 的一个非空子集,如果(u,v)是一条具有最小权值的边, 其中 u 属于 U,v 属于 V-U,则必定存在一颗包含边(u,v)的最小生成树),下面就介绍两种使 用 MST 性质生成最小生成树的算法:普里姆算法和克鲁斯卡尔算法。于是我们就可以引入连通图来解决我们遇到的问题,n 个城市就是图上的 n 个顶点,然后,边表示。在搜索算法中优化中,剪枝,就是通过某种判断,避免一些不必要的遍历过程,形象的说,就是。分为若干个子序列,每个子序列是有序的。

2024-01-22 10:30:00 886

原创 JAVA 算法介绍(一)

又叫折半查找,要求待查找的序列有序。每次取中间位置的值与待查关键字比较,如果中间位置的值比待查关键字大,则在前半部分循环这个查找的过程,如果中间位置的值比待查关键字小,则在后半部分循环这个查找的过程。直到查找到了为止,否则序列中没有待查的关键字。int lo=0;int mid;//中间位置//向右查找lo=mid+1;}else{//向左查找hi=mid-1;return -1;

2024-01-21 06:15:00 777

原创 CompletableFuture**应用&源码分析(三)

如果单独采用thenRun在一个任务后面指定多个后继任务,CompletableFuture无法保证具体的执行顺序,而影响执行顺序的是前继任务的执行时间,以及后置任务编排的时机。不需要把所有源码都看了,更多的是要掌握整个CompletableFuture的源码执行流程,以及任务的执行时机。● 前继任务已经执行完毕了,后置任务就应该直接执行,不需要在往stack中存储了。任务在编排到前继任务时,因为前继任务已经结束了,这边后置任务会主动的执行。前继任务执行完毕后,基于嵌套的方式执行后置。

2024-01-20 08:15:00 350

原创 CompletableFuture**应用&源码分析(二)

thenCompose,handle这两个也是异常处理的套路,可以根据方法描述发现,他的功能方向比exceptionally要更加丰富thenCompose可以拿到返回结果同时也可以拿到出现的异常信息,但是thenCompose本身是Consumer不能返回结果。anyOf是基于多个CompletableFuture的任务,只要有一个任务执行完毕就继续执行后续,最先执行完的任务做作为返回结果的入参。比如有任务A,任务B,任务C。任务A和任务B并行执行,等到任务A和任务B全部执行完毕后,再执行任务C。

2024-01-19 10:15:00 348

原创 CompletableFuture**应用&源码分析(一)

平时多线程开发一般就是使用Runnable,Callable,Thread,FutureTask,ThreadPoolExecutor这些内容和并发编程息息相关。相对来对来说成本都不高,多多使用是可以熟悉这些内容。这些内容组合在一起去解决一些并发编程的问题时,很多时候没有办法很方便的去完成异步编程的操作。Thread + Runnable:执行异步任务,但是没有返回结果Thread + Callable + FutureTask:完整一个可以有返回结果的异步任务。

2024-01-18 06:45:00 386

原创 **FutureTask应用&源码分析**(二)

● 任务从NEW状态变成INTERRUPTING,然后再转换为INTERRUPTED。只要任务结束了,无论是正常返回,异常返回,还是任务被取消都会执行这个方法。而这个方法其实就是唤醒那些执行get方法等待任务结果的线程。这个是线程获取FutureTask任务执行结果的方法。任务执行完毕后,修改任务的状态以及封装任务的结果。● 任务直接从NEW状态转换为CANCEL。

2024-01-17 08:00:00 328

原创 **FutureTask应用&源码分析**(一)

FutureTask是一个可以取消异步任务的类。FutureTask对Future做的一个基本实现。可以调用方法区开始和取消一个任务。一般是配合Callable去使用。异步任务启动之后,可以获取一个绑定当前异步任务的FutureTask。可以基于FutureTask的方法去取消任务,查看任务是否结果,以及获取任务的返回结果。FutureTask内部的整体结构中,实现了RunnableFuture的接口,这个接口又继承了Runnable, Future这个两个接口。

2024-01-16 13:00:42 376

原创 Semaphone应用&源码分析(二)

Semaphore是Java并发编程中一个强大的工具,用于控制对共享资源的访问和实现线程之间的同步。与其他并发控制机制相比,Semaphore具有灵活性和可扩展性。选择Semaphore还是其他机制取决于具体的需求和场景。在使用Semaphore时,需要注意正确地获取和释放许可,以避免死锁和资源争用等问题。

2023-12-24 06:00:00 435 1

原创 Semaphone应用&源码分析

sync,ReentrantLock是互斥锁,保证一个资源同一时间只允许被一个线程访问Semaphore(信号量)保证1个或多个资源可以被指定数量的线程同时访问底层实现是基于AQS去做的。Semaphore底层也是基于AQS的state属性做一个计数器的维护。state的值就代表当前共享资源的个数。如果一个线程需要获取的1或多个资源,直接查看state的标识的资源个数是否足够,如果足够的,直接对state - 1拿到当前资源。如果资源不够,当前线程就需要挂起等待。

2023-12-23 10:00:00 1659

原创 **CyclicBarrier应用&源码分析**

从名字上来看CyclicBarrier,就是代表循环屏障Barrier屏障:让一个或多个线程达到一个屏障点,会被阻塞。屏障点会有一个数值,当达到一个线程阻塞在屏障点时,就会对屏障点的数值进行-1操作,当屏障点数值减为0时,屏障就会打开,唤醒所有阻塞在屏障点的线程。在释放屏障点之后,可以先执行一个任务,再让所有阻塞被唤醒的线程继续之后后续任务。Cyclic循环:所有线程被释放后,屏障点的数值可以再次被重置。CyclicBarrier一般被称为栅栏。

2023-12-22 09:00:00 929

原创 一、**CountDownLatch应用&源码分析**

CountDownLatch就是JUC包下的一个工具,整个工具最核心的功能就是计数器。如果有三个业务需要并行处理,并且需要知道三个业务全部都处理完毕了。需要一个并发安全的计数器来操作。CountDownLatch就可以实现。给CountDownLatch设置一个数值。可以设置3。每个业务处理完毕之后,执行一次countDown方法,指定的3每次在执行countDown方法时,对3进行-1。主线程可以在业务处理时,执行await,主线程会阻塞等待任务处理完毕。

2023-12-21 08:45:00 331

原创 CopyOnWriteArrayList(二)

关于remove操作,要分析两个方法● 基于索引位置移除指定数据● 基于具体元素删除数组中最靠前的数据● 当前这种方式,嵌套了一层,导致如果元素存在话,成本是比较高的。● 如果元素不存在,这种设计不需要加锁,提升写的效率。

2023-12-20 08:00:00 359

原创 CopyOnWriteArrayList(一)

CopyOnWriteArrayList是一个线程安全的ArrayList。CopyOnWriteArrayList是基于lock锁和数组副本的形式去保证线程安全。在写数据时,需要先获取lock锁,需要复制一个副本数组,将数据插入到副本数组中,将副本数组赋值给CopyOnWriteArrayList中的array。

2023-12-19 05:30:00 355

原创 并发集合介绍(九)

addCount方法本身就是为了记录ConcurrentHashMap中元素的个数。计数器选择的不是AtomicLong,而是类似LongAdder的一个功能。● 检验当前ConcurrentHashMap是否需要扩容。size获取ConcurrentHashMap中的元素个数。● 计数器,如果添加元素成功,对计数器 + 1。addCount源码分析。

2023-12-18 10:59:44 358

原创 并发集合介绍(八)

涉及到类似CAS的操作,需要将ConcurrentHashMap的value从val1改为val2的场景就可以使用replace实现。replace内部要求key必须存在,替换value值之前,要先比较oldValue,只有oldValue一致时,才会完成替换操作。● 结果不为null,将key对应的value,替换为Function的结果。● 如果key存在,就可以基于Function计算,得到最终结果。● 如果key不存在,就跟put(key,value);● 结果为null,删除当前key。

2023-12-15 07:30:00 345

原创 并发集合介绍(七)

整个compute方法和putVal的区别就是,compute方法的value需要计算,如果key存在,基于oldValue计算出新结果,如果key不存在,直接基于oldValue为null的情况,去计算新的value。修改ConcurrentHashMap中指定key的value时,一般会选择先get出来,然后再拿到原value值,基于原value值做一些修改,最后再存放到咱们ConcurrentHashMap。compute的BUG,如果在计算结果的函数中,又涉及到了当前的key,会造成死锁问题。

2023-12-14 09:00:00 340

原创 并发集合介绍(六)

如果hash值一致,并不是找的数据,基于compare方式,再次决定找左子树还是右子数,知道找到当前节点的子节点为null,停住。● 如果没有线程持有写锁或者等待获取写锁,完全可以对lockState + 4,然后去红黑树中检索,并且在检索完毕后,需要对。● 再次是fwd,说明当前线程可能没有获取到CPU时间片,导致CHM再次触发扩容,重新走当前方法。红黑树的检索方式,套路很简单,及时基于hash值,来决定去找左子树还有右子数。在查询数据时,会先判断当前key对应的value,是否在数组上。

2023-12-13 08:30:00 325

原创 并发集合介绍(五)

写线程操作,对lockState + 1,如果读操作占用着线程,就先+2,waiter是当前线程,并挂起当前线程。TreeBin的锁操作,没有基于AQS,仅仅是对一个变量的CAS操作和一些业务判断实现的。确定左子树和右子数之后,直接维护双向链表和红黑树结构,并且再判断是否需要自平衡。整体操作就是判断当前节点要插入到左子树,还是右子数,还是覆盖操作。如果高低位的长度大于6,依然封装为红黑树迁移到新数组。如果高低位的长度小于等于6,封装为链表迁移到新数组。首先红黑结构的数据迁移是基于双向链表封装的数据。

2023-12-12 09:15:00 330

原创 并发集合介绍(四)

红黑树是一种特殊的平衡二叉树,首选具备了平衡二叉树的特点:左子树和右子数的高度差不会超过1,如果超过了,平衡二叉树就会基于左旋和右旋的操作,实现自平衡。● 每个节点必须是红色或者黑色。● 根节点必须是黑色。● 如果当前节点是红色,子节点必须是黑色● 所有叶子节点都是黑色。● 从任意节点到每个叶子节点的路径中,黑色节点的数量是相同的。当对红黑树进行增删操作时,可能会破坏平衡或者是特性,这是红黑树就需要基于左旋、右旋、变色来保证平衡和特性。左旋操作:[image]

2023-12-11 08:45:00 310

原创 并发集合介绍(三)

【代码】并发集合介绍(三)

2023-12-10 07:30:00 356

原创 并发集合介绍(二)

【代码】并发集合介绍(二)

2023-12-09 09:00:00 335

原创 并发集合介绍(一)

ConcurrentHashMap是线程安全的HashMapConcurrentHashMap在JDK1.8中是以CAS+synchronized实现的线程安全CAS:在没有hash冲突时(Node要放在数组上时)synchronized:在出现hash冲突时(Node存放的位置已经有数据了)存储的结构:数组+链表+红黑树。

2023-12-08 07:30:00 676

原创 ScheduleThreadPoolExecutor应用&源码

从名字上就可以看出,当前线程池是用于执行定时任务的线程池。Java比较早的定时任务工具是Timer类。但是Timer问题很多,串行的,不靠谱,会影响到其他的任务执行。其实除了Timer以及ScheduleThreadPoolExecutor之外,正常在企业中一般会采用Quartz或者是SpringBoot提供的Schedule的方式去实现定时任务的功能。ScheduleThreadPoolExecutor支持延迟执行以及周期性执行的功能。

2023-12-07 10:00:00 295

原创 ThreadPoolExecutor应用&源码剖析(四)

主要难点在于任务类型无法控制,比如任务有CPU密集型,还有IO密集型,甚至还有混合型的。官方文档:https://hippo4j.cn/docs/user_docs/intro。因为IO咱们无法直接控制,所以很多时间按照一些书上提供的一些方法,是无法解决问题的。线程池中提供了获取核心信息的get方法,同时也提供了动态修改核心属性的set方法。shutdown状态下,不会中断正在干活的线程,而且会处理阻塞队列中的任务。线程池的使用难度不大,难度在于线程池的参数并不好配置。《Java并发编程实践》

2023-12-06 08:30:00 341

原创 ThreadPoolExecutor应用&源码剖析(三)

第二个循环时,不但要判断线程池状态,还要判断当前工作线程是否可以被干掉。并且在内部也处理了在工作线程正常结束和异常结束时的处理方案。runWorker就是让工作线程拿到任务去执行即可。如果状态没问题,去阻塞队列take或者是poll任务。工作线程在去阻塞队列获取任务前,要先查看线程池状态。Worker对象主要包含了两个内容。● 工作线程可能会被中断,控制中断。● 工作线程要执行任务。

2023-12-05 08:00:00 371

原创 ThreadPoolExecutor应用&源码剖析(二)

线程池的执行流程其实就是在说execute方法内部做了哪些判断。execute方法是提交任务到线程池的核心方法,很重要。有参构造没啥说的,记住核心线程个数是允许为0的。● 第一块:校验线程池的状态以及工作线程个数。● 第二块:添加工作线程并且启动工作线程。addWorker中主要分成两大块去看。校验线程池的状态以及工作线程个数。添加工作线程并且启动工作线程。execute源码的分析。

2023-12-04 08:30:00 339

原创 ThreadPoolExecutor应用&源码剖析(一)

首先ThreadPoolExecutor中,一共提供了7个参数,每个参数都是非常核心的属性,在线程池去执行任务时,每个参数都有决定性的作用。但是如果直接采用JDK提供的方式去构建,可以设置的核心参数最多就两个,这样就会导致对线程池的控制粒度很粗。所以在阿里规范中也推荐自己去自定义线程池。手动的去newThreadPoolExecutor设置他的一些核心属性。自定义构建线程池,可以细粒度的控制线程池,去管理内存的属性,并且针对一些参数的设置可能更好的在后期排查问题。

2023-12-03 07:00:00 1798

原创 线程池介绍(二)

首先看到名字就可以猜到当前线程池是一个定时任务的线程池,而这个线程池就是可以以一定周期去执行一个任务,或者是延迟多久执行一个任务一次。当有一个特别大的任务时,如果采用上述方式,这个大任务只能会某一个线程去执。当前JDK提供构建线程池的方式newWorkStealingPool和之前的线程池很非常大的区别。所以本质上还是正常线程池,只不过在原来的线程池基础上实现了定时任务的功能。一个线程的线程池可以延迟或者以一定的周期执行一个任务。来一个比较大的数组,里面存满值,计算总和。任务的线程的阻塞队列中的任务。

2023-12-02 09:30:00 524

汽车4S店Web项目网页设计前后端

汽车4S店Web项目网页设计前后端,包括数据库

2023-10-11

vue面试提库,内容丰富

vue面试提库

2023-10-11

投中统计:1月募投市场开年缓和,ChatGPT概念火热.pdf

投中统计:1月募投市场开年缓和,ChatGPT概念火热.pdf

2023-07-02

python3.8.1安装包

python3.8.1安装包

2023-06-25

基于Java SSM实现的生活日常开销管理系统

基于Spring,SpringMVC,LayUi,Maven,Mybatis实现的日常开销管理系统

2023-06-25

RabbitMQ可靠性传递和实践经验总结

RabbitMQ可靠性传递和实践经验总结

2023-06-25

Kafka基础学习总结

Kafka基础学习总结,从小白学习,基础开始到精通

2023-06-25

最新版Spring Cloud 学习笔记

最新版Spring Cloud 学习笔记,从入门到精通,小白到资深的学习资料

2023-06-25

Java高频核心面试总结完整版

Java高频核心面试总结完整版,包括锁,多线程等核心点

2023-05-26

MySQL高级面试总结

MySQL高级面试总结

2023-05-26

ChatGPT新机遇分享

新范式 新时代 新机会 以数据为信息媒介通过观察与整个 人类环境交互捕获环境的信息 将数据转化为知识表达,通过推理和规划 来实现预期目标的记忆和泛化 与环境互动,控制能量转换,实现对物理、生 物世界和人类社会的控制,达成预期目标 与环境互动 更好地满足 人类需求 以数据为信息媒介通过观察与整个 人类环境交互捕获环境的信息 将数据转化为知识表达,通过推理和规划 来实现预期目标的记忆和泛化

2023-05-26

ChatGPT移动应用程序威胁分析报告

与 ChatGPT 相关的 样本呈现出爆发式增长的趋势,目前已经监测到 1170 个相关样本。这些样本可能包含病毒。 恶意软件和其他恶意代码,可能会导致用户的数据泄露、隐私侵犯和财务损失等严重后果OpenAI 并没有发布适用于 Android 系统的 ChatGPT 应用程序,即便开 发者可以使用 OpenAI API 提供的 SDK 将其集成到自己的应用程序中。此次报告的目的是 对监测到的相关样本进行威胁分析,以帮助企业和用户更好地了解相关风险,并采取措施避 免造成损失

2023-05-26

用ChatGPT生成内容进行研报写作的使用体验

基于半导体行业为主题,我们作了一次使用ChatGPT生成内容进行研报写作的使用体验尝试。对此,我们与ChatGPT进行了一 系列对话作为测试。以“半导体行业”为主题,我们对ChatGPT进行了一系列的提问,从提纲至细节内容,均通过ChatGPT问答生成内容最终整理形成报告,并选取 了某行业研究报告作为本次分析中的人工研报案例与ChatGPT写作研报进行对

2023-05-26

基于ChatGPT聊聊城市更新

基于ChatGPT超强的对话逻辑和专业知识未来 可能取代很多人类的工作。基于此,我们来跟ChatGPT聊聊城市老旧商务楼宇更新那些事儿,来看看人工智能与积累实 际操作经验的专业咨询公司对于城市更新的看法有哪些异同之处。

2023-05-26

基于chatGPT传媒行业深度研究报告:ChatGPT,技术原理、演进路线和应用场景

基于chatGPT传媒行业深度研究报告:ChatGPT,技术原理、演进路线和应用场景,本报告与市场不同的地方在于,对于 ChatGPT 的技术原理、技术演进的路线 和不同技术路线的差异进行了分析。ChatGPT 不仅是一个“搜索答案并完成 整合输出”的工具,大模型其本身就蕴含着强大的逻辑推理能力,其应用空 间将有望更快的从文字端向图片、视频等其他形式扩张。多模态的通用型 AI 对人们生产生活的变化值得更加重视

2023-05-26

计算机行业动态报告:详解ChatGPT插件如何开启AI操作系统

计算机行业动态报告:详解ChatGPT插件如何开启AI操作系统

2023-04-25

matlab提取图片的Lab值

基于matlab来实现提取图片的Lab值

2023-04-25

基于springboot,mybatis, maven MySQL完成后端,elementui layui实现前端完成学生就业管

基于springboot,mybatis, maven MySQL完成后端,elementui layui实现前端完成学生就业管

2023-04-25

MySQL经典面试题总结

MySQL经典面试题

2023-04-25

基于springboot,elementui 实现私人健身与教练预约管理系统

前端使用elementui layui vue等主流框架来实现展示; 后端使用springboot来实现逻辑; 使用mybatis来实现数据层 使用MySQL数据库实现数据存储; 使用maven进行项目管理与构建; spring boot内嵌tomcat来创建服务;

2023-04-25

基于springboot laui elementui实现医院信息管理系统

基于主流框架springboot 框架来实现后端; 前端基于layui elementui来实现前端展示; 数据库使用MySQL关系型数据库来实现存储数据; 基于maven来进行项目管理,下载依赖jar包;

2023-04-25

基于Springboot mybatis maven 实现校园在线拍卖系统

后端springboot mybatis ,maven实现后端; 前端使用layui elementui等流行框架来实现; MySQL关系型数据库存储数据

2023-04-25

基于Springboot实现家政服务管理平台系统

前端使用主流框架layui elementui vue 后端springboot,mybatis, maven ; 使用关系型数据库MySQL实现数据存储; maven进行项目打包管理; mybatis实现持久层; springboot完成后端代码逻辑设计

2023-04-22

Java核心面试总结经典面试

Java核心面试总结,从基础到EE,包括JVM等核心知识; 利于Java程序员学习总结,弥补不足之处; 方便总结,提升自己对整体的认识; 便于发现自己的不足

2023-04-22

基于Springboot实现高校食堂移动预约点餐系统

安卓,iOS实现; 小程序使用; 主流技术:Springboot,mybatis等开源框架; 数据库使用MySQL,基于关系型数据库来实现数据持久化 适合学习小白,学习系统设计以及整体框架搭建学习;

2023-04-22

基于SpringBoot实现学生成绩管理系统

后端使用Springboot框架,mabatis实现数据持久层; 前端使用layui elementUi ; 数据库使用mysql 5.7; 基于maven进行打包管理

2023-04-22

基于SpringBoot实现社区医院管理系统

前端elementUI,layui 后端Springboot,mybatis 数据库:MySQL5.7

2023-04-22

经典Vue面试,大家一起进大厂

经典Vue面试,大家一起进大厂,相互学习,有错相互沟通,增加我们得技术

2023-04-02

JAVA面试核心总结,包括jvm等知识点,覆盖面比较广

JAVA面试核心总结,包括jvm等知识点,覆盖面比较广

2023-01-14

高校宿舍管理系统,包含以下功能:宿舍学生信息管理;宿舍财产维修管理;宿舍访客信息管理;宿舍电费缴纳管理以及权限和宿舍角色管理

高校宿舍管理系统,包含以下功能:宿舍学生信息管理;宿舍财产维修管理;宿舍访客信息管理;宿舍电费缴纳管理以及权限和宿舍角色管理;

2023-01-13

Java基于SSM+Layui的图书管理系统

Java基于SSM+Layui的图书管理系统

2023-01-13

基于Java实现得社团管理系统

基于Java实现得社团管理系统

2023-01-12

基于Java开发得图书管理系统

基于Java开发得图书管理系统,读者可以注册登录,登录时会判断账号类型再分别跳到各自对应的页面,读者可以查找,借阅,还书,查看历史借阅记录,修改个人资料,密码等,管理员可以修改添加图书,修改添加读者,修改添加分类,管理借阅信息等等

2023-01-12

锁机制学习与总结笔记参考

锁机制学习与总结

2023-01-12

mysql优化总结,可以参考学习下

mysql优化总结,可以参考学习下

2023-01-12

MySQL与Java锁的学习

MySQL与Java锁的学习,总结笔记

2023-01-11

事务基础知识的学习总结

事务基础知识

2023-01-11

linux下mysql的安装

linux下mysql的安装

2023-01-10

nacos2.0.3的安装包资源

nacos2.0.3安装包

2023-01-10

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除