自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(329)
  • 资源 (27)
  • 收藏
  • 关注

原创 Docker镜像瘦身:从1.43G到22.4MB

从 DockerHub(官方 Docker 镜像注册表)中我们可以看到,基于 alpine-based 的 Node 镜像比基于 Ubuntu 的镜像小得多,而且它们的依赖程度非常低。因此,现在我们将引入多级构建的概念,以减少不必要的代码和依赖于我们的最终镜像。我们尝试使用 Nginx 这类更高效、更轻量级的服务器来运行资源应用程序,也可以尽可能提高其性能,并且减少镜像的量。在查询结果列表的顶部,是我们新创建的图像,在最右边,我们可以看到图像的大小。这样我们在最终的镜像中就不会有不必要的依赖和代码。

2024-12-30 22:07:29 906

原创 charls基于夜神模拟器抓取安卓7.0应用程序https请求

然后把hash值.0移到安卓设备/system/etc/security/cacerts/里。接下来就把下载charls的证书 charls.pem 改名为生成的hash值.0。查看证书 已经到了系统证书下了。已经可以抓到https的包了。

2024-09-15 22:57:25 687

原创 python迭代器

迭代器是迭代取值的工具,迭代是一个重复的过程,每次重复都是基于上一次的结果而继续的,单纯的重复并不是迭代。

2024-07-07 00:33:11 237

原创 动手实现一个可发送短信随机密码的高安全性用户密码系统

现假设我们是某个社交网站,对于每个新来的用户,我们可能都需要注册之后,才能进行使用网站的功能,但是对于注册流程,可能每个网站的流程都不一样,假设我们社交网站的注册流程为,先填写用户名和手机号,点击注册之后,系统注册成功之后,会创建一个随机密码,通过短信发送给用户,以后用户可以用该密码进行登录,也可以自己修改密码,我们来看一下整体的业务流程图。通过ThreadLocal来实现高安全性用户密码系统发送随机密码案例。用一个异步方式去处理随机密码的生成和随机密码短信的下发的任务,请看下图。

2024-06-25 20:55:32 1020

原创 线程本地化存储如何保证线程安全

我们把代码还原到图中,int c = a + b,基本类型的局部变量是存在栈空间,而new Object()代码创建的的对象实例的确是存在虚拟机的堆空间里,但是Object object只是引用(reference)堆空间里的对象,重要的事情说三遍,是引用,是引用,是引用,而new Object()这个对象只有被当前线程的自己所引用,我们再来看下面这张图。因为变量不共享,就不存在线程安全问题。当方法返回的时候,方法对应的栈帧,也会在栈空间被弹出,同时,执行的方法和对应的栈帧是同生共死的关系。

2024-06-18 13:57:43 895

原创 探秘提交任务到线程池后源码的执行流程

7]如果说线程池状态确实是RUNNING,也就是二次校验通过,那么就判断一下线程池里是否还有线程,通过WorkerCountOf(recheck) == 0来判断,如果返回true了,就说明当前线程池中是空的,没有线程。对于核心线程来说,他们可以无限制的等待着任务被获取并执行,而非核心的线程则是在有限的时间内获取任务,一旦Worker无法获取到任务,也就是要获取的任务为空,循环就会结束,Worker自己就会主动的去除掉在线程池中的应用,进而被回收掉并退出。这个方法实际上最终就是开启了新的线程去执行任务。

2024-06-17 17:16:14 982

原创 分析线程池的构造过程,追踪核心成员变量

这部分线程给他们分配了一个keepAliveTime参数,意义在于,当没有可处理的任务时,让它们别急着回收,而是先等会儿,看有没有任务来了,如果有就去执行任务,否则就等达到了keepAliveTime之后,对工作线程进行回收。也就是上图中的“最大池maximumPool”的容量,它的作用在于,当核心线程数被任务占满,且其中的任务缓冲队列也满了的时候,让新提交的任务仍旧可以执行,不至于立马就被拒绝。如下图中的核心池Pool中的线程池的数量,代表的含义就是这里的corePoolSize,如图。

2024-06-17 16:52:50 918

原创 如何避免重复创建线程?创建线程池的方式有哪些?各自优缺点有哪些?

这里还要强调的一点是,在Java语言中,当我们每创建一个线程的时候,Java虚拟机就会在JVM内存中创建出一个Thread对象,与此同时创建一个操作系统的线程,最终在系统底层映射的是操作系统的本地线程(Native Thread),在windows系统中是1对1映射(即一个Java线程映射一个操作系统线程),在Linux系统是N对M映射(即多个Java线程映射多个操作系统线程,N与M不完全相等),这里就仅做了解,不详细展开了,感兴趣的同学可以去看一下操作系统的线程部分的知识。这玩意儿也是要占用内存空间的。

2024-06-16 11:12:46 1188

原创 实现智能安防系统的报警功能(一)

这些产品都需要报警功能,一旦监察到异常,就会向报警中心服务器上传报警信息,然后由报警中心程序通知对应的人员或者系统进行处理。建立定时器,并每隔5秒发送一次心跳检查,如果与告警中心服务器的连接断开,则重新建立连接。HeartbeatTask()心跳检查,新建定时调度线程,每隔n秒去检查一次连接。init: 初始化报警服务,和报警服务器建立连接,并定时发送心跳信息。通过blocker去唤醒一个线程,与告警中心服务器建立连接。4、烟雾报警器、燃气探测器。3、门磁、人体探测器。

2024-06-16 10:17:37 371

原创 如何解决百万交易系统转账过程中循环等待,性能太差的问题?

死锁” 是两个或两个以上的线程在执行过程中,互相持有对方所需要的资源,导致这些线程处于等待状态,无法继续执行。若无外力作用,它们都将无法推进下去,就进入了“永久”阻塞的状态。如上图所示:线程01获得了账户A的锁,且同时去尝试获取账户B的锁;但是,线程02已经获得了账户B的锁,所以,线程01只能等待。同样,线程02也无法获得账户A的锁(已被线程01获取),只能等待。于是,线程01和线程02都在等待对方持有的锁,且会无限期的等待下去,这就是我们所说的“死锁”了!

2024-06-15 21:29:11 887

原创 线程在执行过程中的状态是如何流转的?

当线程的run()方法完成时,或者主线程的main()方法完成时,我们就认为它终止了。线程一旦终止了,就不能复生。所以,当这个线程要执行时,就必须调用这个对象的start()方法,将NEW 状态转换到 RUNNABLE 状态。线程执行完 run() 方法后,会自动转换到 TERMINATED 状态,当然如果执行 run() 方法的时候异常抛出,也会导致线程终止。我们为了验证线程run()后,会自动转到terminated状态,所以,使用thread.getState()方法来获取“线程状态”。

2024-06-15 20:57:06 793

原创 数据库与缓存⼀致性⽅案

⾸先我们对于所有的DB操作都不去添加具体的删除缓存的操作,⽽是通过canal监听binlog的⽅式,待数据确认已提交到数据库后,通过监听的变化,解析出对应的数据后,过滤掉⾮增删改的binlog,然后通过常量类配置的需要处理数据⼀致性的相关表以及关键字段和缓存前缀key,进⾏组装出需要进⾏删除的缓存key。现有的业务场景下,都会涉及到数据库以及缓存双写的问题,⽆论是先删除缓存,再更新数据,或者先更新数据,再删除缓存,都⽆法保证数据的⼀致性。本身他们就不是⼀个数据源,⽆法通过代码上的谁先谁后去保证顺序。

2024-06-01 22:15:43 939

原创 你们系统每天有多大访问量?每个服务高峰QPS多少?压测过服务最大QPS吗?

在自己负责的系统里 核心模块 开发一个简单的metrics统计机制,AtomicLong,,原子性,并发下数据统计准确,每个接口被调用的时候,可以对每个接口做一个metrics统计。任何一个开源系统 都需要对自己运行过程中各种请求量,每秒的请求量、成功次数、失败次数,在内存里做一个计数,他会给你开放一些端口号,只要请求这些端口号,就会把metrics统计返回。对每个接口 每天的请求使用atomicLong做一个计数,统计每天的请求次数。

2024-06-01 18:58:22 308

原创 最新的G1垃圾回收器的工作原理,你能聊聊吗?

所以简单来说,G1可以做到让你来设定垃圾回收对系统的影响,他自己通过把内存拆分为大量小Region,以及追踪每个Region中可以回收的对象大小和预估时间,最后在垃圾回收的时候,尽量把垃圾回收对系统造成的影响控制在你指定的时间范围内,同时在有限的时间内尽量回收尽可能多的垃圾对象。然后在垃圾回收的时候,G1会发现在最近一个时间段内,比如1小时内,垃圾回收已经导致了几百毫秒的系统停顿了,现在又要执行一次垃圾回收,那么必须是回收上图中那个只需要200ms就能回收掉20MB垃圾的Region啊!

2024-05-28 21:35:53 825

原创 什么情况下JVM内存中的一个对象会被垃圾回收?

有GC Roots引用的对象不能回收,没有GC Roots引用的对象可以回收,如果有GC Roots引用,但是如果是软引用或者弱引用的,也有可能被回收掉。其实这里比较常用的,就是强引用和软引用,强引用就是代表绝对不能回收的对象,软引用就是说有的对象可有可无,如果内存实在不够了,可以回收他。然后如果新生代里的对象越来越多,都快满了,此时就会触发垃圾回收,把新生代没有人引用的对象给回收掉,释放内存空间。所以说,只要你的对象被,方法的局部变量,类的静态变量给引用了,就不会回收他们。

2024-05-28 21:10:56 991

原创 如果任务过多,队列积压怎么处理?

好了,相信大家已经对多路复用的IO模型已经有一个初步的认识了,那么我们现在把购物狂生活中一起构建出IO多路复用场景中的角色抽象成代码模型大概是什么样的。首先我们不妨来看看,这个在没有收到快递员信息的情况向下,让购物狂先静静的等待一会儿,如果收到快递小哥来电就可以在小区里的站点展开快递搜索的行为叫做select,也就是说select是一个阻塞方法,既然它是一个IO多路复用里的通用行为,那么自然就跟我们业务代码无关,肯定是有一个在这套模型里有拥有这个方法的接口或类。

2024-05-27 22:57:45 1589

原创 如何根据系统的业务场景需求定制自己的线程池?

自定义线程工厂,需要实现ThreadFactory接口,此处提供一个参考实现,如图5所示,大家可以根据这个代码样例进行扩展,实现自己的线程工厂,当然也建议大家多去阅读优秀的开源框架,比如Netty、Tomcat,它们都提供了优秀的自定义的线程工厂的实现。我们以I/O密集型任务为例,实现一个自定义线程池的案例,具体代码如图我们定义了一个订单同步线程池,指定核心线程数为CPU数量+1,最大线程数为CPU数量*2,并指定非核心线程数的存活时间为60s。

2024-05-27 21:22:50 1068

原创 如何利用线程池实现互联网验证码保护服务

并且发送短信本身属于跨网络服务调用,本质上是一种网络I/O操作,因此如果直接在业务主线程上直接同步阻塞式的调用验证码发送模块的发送短信接口,会影响到整个业务流程的处理效率,如果单位时间内大量用户涌入,会造成注册接口响应缓慢。因此我们考虑通过异步方式去进行验证码发送,在AsyncSmsVerificationCodePusher类中通过定义一个专门的验证码发送线程池来实现验证码短信的发送。当用户注册账户成功之后,需要发送短信验证码,因此账户注册流程中会调用验证码发送模块提供的验证码发送服务。

2024-05-26 19:11:14 1258

原创 每日百万交易的支付系统,如何设置JVM堆内存大小?

那么大体上你的脑子里可以出现的一个流动的模型,应该是每台机器一秒钟接收到30笔支付订单的请求,然后在“JVM的新生代里创建了30个支付订单的对象”,做了写入数据库等处理,接着1秒之后,这30个支付订单就处理完毕,然后对这些支付订单对象的引用就回收了,这些订单在JVM的新生代里就是没人引用的垃圾对象了。只要大家网购过,大概的流程都会非常的清晰,假设我们在一个APP或者一个网站里买东西,大体上都是对一些商品加到购物车里,然后下个订单,接着对订单进行支付,钱从我们的账户划拨到人家网站的账户里去,大致如此。

2024-05-26 17:02:09 982

原创 使用无界队列的线程池,在远程服务异常的情况下导致内存飙升怎么办?

只要有一个Worker异常挂掉,此时就会把这个worker从线程池里给挪出去,然后判断一下,如果当前线程数量 < corePoolSize,就会重新创建一个Worker和线程放入线程池中,自己再搞一个补位。可以考虑自己定制线程池,使用有界队列,不要使用无界队列,可以限制内存空间的使用,避免系统崩溃;无界队列,直接支撑前端的请求,不允许有界阻塞,到最后大不了就是系统崩溃。如果你提交到线程池的任务报错了,抛了异常出来,在线程池执行的过程中,Worker层面接收到一个异常,会直接throw抛出去。

2024-05-23 18:25:45 310

原创 设计一套Kafka到RocketMQ的双写+双读技术方案,实现无缝迁移!

同时你要观察一段时间,当你发现持续双写和双读一段时间之后,如果所有的Consumer系统通过对比发现,从Kafka和RocketMQ读取和处理的消息数量一致,同时处理之后得到的结果也都是一致的,此时就可以判断说当前Kafka和RocketMQ里的消息是一致的,而且计算出来的结果也都是一致的。当你的双写持续一周过后,你会发现你的Kafka和RocketMQ里的数据看起来是几乎一模一样了,因为MQ反正也就保留最近几天的数据,当你双写持续超过一周过后,你会发现Kafka和RocketMQ里的数据几乎一模一样了。

2024-05-23 17:51:15 961

原创 一次没有WHERE条件的SQL语句引发的OOM问题排查实践!

所以看到这一步基本就很明确了,就是Tomcat的工作线程处理一个请求的时候,发起了一个SQL语句,查出来了大量的数据,每条数据是一个HashMap,就是这大量的数据导致了系统的OOM。采用上述方法,当时我们对生产案例进行追踪,立马就定位到了是系统中的一个业务方法,在执行查询操作的时候,因为没有带上WHERE条件,直接查询出来了全部的上百万的数据,导致了内存的溢出。此时我们可以进入第二步,你可以深入的看看占用内存过多的对象是被谁引用的,哪个线程引用的,他们里面都是什么东西。

2024-05-22 14:35:59 878

原创 解释一下什么是Young GC和Full GC?

2、Full GC?Old GC?傻傻分不清楚3、Full GC4、Major GC5、Mixed GC。

2024-05-22 11:14:54 970

原创 如何解决电商平台中的商品分析系统分析热点商品过慢问题?

对于运营人员来说,需要统计的时间范围是灵活多变的,也许是统计某天,或者某几天内的热门商品列表。如果能更快地进行统计,根据其结果调整商品的展示策略,以及提前准备充足的库存,将会使收益最大化。但是由于我们统计的实在是太慢了,统计结果将无法及时呈现,也错过了最佳投放时间和备货时间,造成商品库存供应不及时。文件的读取和分析是串行的,也就是说,只有当一个日志文件处理完成之后,才会对下一个日志文件进行处理。该工具的统计依据是系统接口运行时产生的请求日志文件,它记录了收到请求的类型、商品的ID、请求时间戳等。

2024-05-21 17:56:19 371

原创 如何解决移动互联网短网址转换失败造成数据丢失问题?

上面的代码了给出了长网址转换为短网址的做法,但是如果要将短网址转化为长网址要怎么实现了?其实很简单,在上面的长短网址转换服务中,将长网址转换为短网址完成后,立马将长短网址的映射关系保存起来,比如保存到数据库中。然后用户访问时传递短网址地址,服务端会先去地址转换服务查询对应的长网址,对于地址转换服务的逻辑处理也很简单,直接去数据库里查询长短网址映射表,根据当前的短连接查询出对应的长网址。比如,用户在某网站发布一篇图文,那么肯定会生成该图文对应的长网址,同时大多数网站还会有一个对应的短网址,如图1。

2024-05-21 17:40:47 537

原创 如何解决互联网房产交易合同管理平台的性能低下问题?

对于平台最初的版本来说,为了赶进度,我们简单实现了这个合同上传的功能即可,不需要考虑太多性能问题。而且一开始用户量并不是很大,问题不会很大。但随着公司不断投入广告,对平台进行大力推广,用户量不断增多,这个时候,性能问题也会日渐严峻了。对于互联网产品,用户体验非常重要,因此对这个平台进行性能优化迫在眉睫。那具体要怎么来优化才好呢?

2024-05-20 22:21:40 440

原创 网关压测对比

况下压测的结果变化,压测结果有可⽐性;同时输出dstat -v。Nginx、SpringCloud Gateway 压测对比。每个场景都输出⼀个基本压测结果,然后在输出不同参数配置情。系统指标情况,查看JVM GC情况进⾏调优。

2024-05-19 22:54:41 403

原创 docker 版 mysql 主从同步

【代码】docker 版 mysql 主从同步。

2024-05-18 18:10:36 893

原创 sysbench压测自装MySQL数据库

【代码】sysbench压测自装MySQL数据库。

2024-05-17 09:51:18 1209

原创 如何自己动手搭建真实生产环境ES集群

在阿⾥云上购买3台云主机,配置为8C16G,1亿数据量默认的40G磁盘可以满⾜使⽤。在云主机使⽤的安全组中打开9300、9800端⼝ 因为我们的es没设置认证信息,所以没有⽤默认的9200、9700端⼝。我们使⽤的是9000端⼝,还需要在云主机使⽤的安全组中打开9000端⼝。vim /etc/security/limits.conf(退出当前⽤户重新登录后⽣效)vim /etc/sysctl.conf(然后执⾏sysctl -p这条命令让配置)此次使⽤的版本为7.9.3。此次使⽤的版本为7.9.3。

2024-05-14 00:00:57 1062

原创 python flask_restful “message“: “Failed to decode JSON object: None“

Werkzeug 版本过高。可以正常显示json数据了。

2023-11-10 11:47:47 1331

原创 基于KubeAdm搭建多节点K8S集群

k8s 搭建 流程 : CentOs => utils依赖 => docker =>kubeadm, kubelet , kubectl => master init => node join => 调配网络。–image-repository 由于默认拉取镜像地址k8s.gcr.io国内无法访问,这里指定阿里云镜像仓库地址。–pod-network-cidr Pod网络,与下面部署的CNI网络组件yaml中保持一致。注:由于网络插件还没有部署,还没有准备就绪 NotReady,继续操作。

2023-10-08 21:49:35 963

原创 Kubernetes 加入主节点报错

【代码】Kubernetes 加入主节点报错。

2023-10-08 18:20:37 245

原创 building and deploying a single-Master RocketMQ cluster

【代码】building and deploying a single-Master RocketMQ cluster。

2023-08-28 15:49:57 228

原创 linux shell字符串的定义和使用

1、定义2、使用字符串可以用单引号、双引号、也可以不用引号。

2023-08-15 13:07:51 296

原创 linux shell变量

bash: username: 只读变量。使用unset命令可以删除变量。

2023-08-14 16:50:32 386

原创 linux shell快速入门

一安装linux的虚拟环境。执行hello.sh文件。查看是否具备执行权限。

2023-08-14 16:05:51 626

原创 MAC下配置android-sdk

检查sdk是否配置成功。

2023-08-01 11:59:51 2454

原创 vue基础-动态style

给标签动态设置style值。

2023-07-30 22:38:46 5380

原创 vue基础-动态class

用v-bind给标签class设置动态值。

2023-07-30 22:30:54 556

Day01 JVM基础必备篇.mp4

1、java文件编译过程 2、运行时数据区详细介绍 3、类加载原理

2024-05-29

集桌面应用、命令行工具与 Web 应用于一体的全功能 MQTT 客户端工具

MQTTX 是由 EMQ 开发的一款开源跨平台 MQTT 5.0 桌面客户端,它兼容 macOS,Linux 以及 Windows 系统。 MQTTX 的用户界面 UI 采用聊天式设计,使得操作逻辑更加简明直观。它支持用户快速创建和保存多个 MQTT 连接,便于测试 MQTT/MQTTS 连接,以及 MQTT 消息的订阅和发布。

2023-07-31

iOS AI智能对话项目(一边设备开外放声音,一边录音降噪)代码

OS AI智能对话项目(一边设备开外放声音,一边录音降噪)代码

2023-05-11

ios 活体检测、人脸识别 Objective-C.zip

人脸活体检测、人脸识别 Demo 可快速高效实现人脸识别、活体检测 支持张嘴 摇头 检测, 自动拍摄照片.

2023-05-11

commons-codec-1.15-bin.rar

加密算法 apache commons-codec.jar 包

2021-12-16

Downloads.rar

安装prometheus的三个下载包

2021-09-12

scala.rar软件安装包

scala安装包

2021-09-10

nexus-3.9.0-01-win64.rar

Nexus私服仓库安装包

2021-08-05

Wireshark-win64-3.4.6.rar

分析网络传输细节的工具

2021-07-01

Oracle 12cR1

Oracle 12cR1官方文档中的rpm依赖包,支持CentOS 7.X和Redhat 7.X等64位Linux操作系统。

2020-12-02

jdk-8u151-linux-x64.tar.7z

JDK全称Java Development ToolKit,是Java语言开发工具包。JDK是整个JAVA的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具(javac/java/jdb等)和Java基础的类库(即Java API 包括rt.jar)。这里提供的是linux系统的安装包

2019-05-19

apache-activemq-5.15.0-bin.tar.7z

MQ是消息中间件,是一种在分布式系统中应用程序借以传递消息的媒介,常用的有ActiveMQ,RabbitMQ,kafka。ActiveMQ是Apache下的开源项目,完全支持JMS1.1和J2EE1.4规范的JMS Provider实现。 特点: 1、支持多种语言编写客户端 2、对spring的支持,很容易和spring整合 3、支持多种传输协议:TCP,SSL,NIO,UDP等 4、支持AJAX 消息形式: 1、点对点(queue) 2、一对多(topic)

2019-05-19

jquery实现二维码所需要的jar包

Qrcode相关jar包,zxing相关jar包,用于动态的生成二维码

2019-04-30

angularJs需要导入的JS文件

AngularJS  诞生于2009年,由Misko Hevery 等人创建,后为Google所收购。是一款优秀的前端JS框架,已经被用于Google的多款产品当中。AngularJS有着诸多特性,最为核心的是:MVC、模块化、自动化双向数据绑定、依赖注入等等。

2019-03-31

dubbox的jar包

Dubbox的jar包并没有部署到maven的中央仓库,在Maven的中央仓库中可以查找到Dubbo的最终版本可能是2.5.3,阿里巴巴解散了Dubbo团队后由当当网维护此项目,并改名为dubbox 坐标不变,版本变更了,但是并没有提交到中央仓库 这里提供jar包和配置文件

2019-03-26

postman工具

Postman 是一个很强大的 API调试、Http请求的工具,当你还准备拿着记事本傻傻的去写 Form 表单的时候,你来试试 Postman,你会震惊到的

2019-03-26

品优购建表语句

品优购主要是一个B2B2C的项目 后端框架采用了Spring+SpringMVC+mybatis+Dubbox,前端采用了angularJS+Bootstrap 这是建表sql

2019-03-24

mongodb安装包

MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。 MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。

2019-01-23

java实现FTP批量大文件下载

本文介绍了在Java中,如何使用Java现有的可用的库来编写FTP客户端代码,并开发成Applet控件,做成基于Web的批量、大文件的上传下载控件。文章在比较了一系列FTP客户库的基础上,就其中一个比较通用且功能较强的j-ftp类库,对一些比较常见的功能如进度条、断点续传、内外网的映射、在Applet中回调JavaScript函数等问题进行详细的阐述及代码实现,希望通过此文起到一个抛砖引玉的作用。

2019-01-15

JAVA开发常用文档

JAVA-WEB整套开发文档API 评分: JAVA-WEB开发整套API文档,包括前后端框架等;ajax教程,CSS4.0中文参考手册;DHTML_DOC_CN;JSP API;Linux常用命令大全

2018-12-22

rar永久破解 打包下载

rar永久破解 内含破解文件和破解方式 这是最简单的破解方法

2018-12-22

vue 后台管理系统

这是一个用vuejs2.0和element搭建的后台管理界面。 技术栈:   vue2.0:渐进式JavaScript框架,易用、灵活、高效,似乎任何规模的应用都适用。   element ui:基于vue2.0的ui组件库。   vue-router:一般单页面应用spa都要用到的前端路由。   vuex:Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。   webpack + es6/7 + less   mock.js : 相对于其他同类的框架的实现,mock.js超出了我的意料。 基于 数据模板 生成模拟数据。 基于 HTML模板 生成模拟数据。 拦截并模拟 ajax 请求。 无需等待,让前端独立于后端进行开发,

2018-11-09

xenu web链接测试工具

Xenu Link Sleuth 也许是你所见过的最小但功能最强大的检查网站死链接的软件了。你可以打开一个本地网页文件来检查它的链接,也可以输入任何网址来检查。它可以分别列出网站 的活链接以及死链接,连转向链接它都分析得一清二楚;支持多线程 ,可以把检查结果存储成文本文件或网页文件。

2018-11-09

AdventureWorksDW2008R2

里面有两个文件一个是mdf文件 AdventureWorksDW2008R2_Data.mdf 和 AdventureWorksDW2008R2_log.LDF

2018-11-08

redis win32andwin64

Redis 是一个高性能的key-value数据库。 redis的出现,很大程度补偿了memcached这类key/value存储的不足,在部 分场合可以对关系数据库起到很好的补充作用

2018-09-28

Springboot+swagger2整合

在前后台分离的开发模式中,减小接口定义沟通成本,方便开发过程中测试,自动生成接口文档。

2018-09-28

spring Boot 入门

Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring 应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。

2018-09-27

JDK1.8版本

JDK:JAVA Development Kit Java开发工具 JRE: JAVA Runtime Environment Java运行时环境 JDK 的使用对象一般是编程人员,编写java程序时会用到一些java提供的工具。 JRE 是对用户的,一些java桌面程序运行时需要java环境,那么就需要安装JRE。

2018-04-03

JDK1.7版本

JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。

2018-04-03

apache-tomcat-6.0.32_xzfwoa

Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应HTML(标准通用标记语言下的一个应用)页面的访问请求。实际上Tomcat是Apache 服务器的扩展,但运行时它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。

2018-02-05

jboss-4.2.0.GA

提到jboss,大家肯定会想到tomcat。众所周知,tomcat是一款轻量级的服务器,我们已经用的非常熟悉了,就不在多说了。而jboss和tomcat其实是一样的,也是一款服务器。来自百度百科的定义:是一个基于J2EE的开放源代码的应用服务器

2018-02-02

空空如也

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

TA关注的人

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