自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

dengxiaodai的专栏

我爱编程

  • 博客(18)
  • 资源 (8)
  • 收藏
  • 关注

原创 Java集群实战:单体架构升级到集群架构(六)分布式缓存REDIS

我们来考虑一个特殊场景,一个大V有众多粉丝,他向粉丝推荐了一款冷门商品(没在缓存中),成千上万的粉丝立刻查询这款商品,缓存查不到,于是都到数据库中查(又是缓存击穿),查到数据之后,再往缓存中写。下次用户再发起ID为0的查询请求,我们在缓存中找到这个ID,发现缓存中的数据是“{}”,我们就返回一个新对象,所有字段都是NULL,不用再去查数据库,减轻了数据库的负担。缓存中的冷门数据过了有效期就被自动删除,而热点数据被访问的时候我们会更新它的有效期,所以保留在缓存中的大多数都是热点数据,这样可以节省空间。

2023-04-01 20:47:59 442

原创 把System.out.print的输出加到logback的日志文件中

经常会碰到一些旧系统,使用System.out直接在控制台输出日志,然后再用命令行重定向的方法把日志写到文件中,这个方法主要问题是日志会越来越大,要经常手动删除。今天我们就把System.out的输出加到logback的日志文件中,由logback来管理这些日志。直接上代码,一都在代码和注释中了。和控制台输出的一模一样。

2023-03-25 16:56:31 1900 1

原创 Java集群实战:单体架构升级到集群架构(四)使用REDIS分布式锁

如果你的代码中使用了synchronized和lock,它们在单体应用中跑得很好,但是在集群环境中就不好用了,因为它们只能锁住自己的tomcat,锁不了其他tomcat。常见的分布式锁有数据库的乐观锁悲观锁,zookeeper分布式锁,etcd分布式锁,redis分布式锁等等。我们前面已经使用redis来保存session了,所以今天我们就再使用redis分布式锁

2023-03-22 13:47:13 521

原创 Java集群实战:单体架构升级到集群架构(五)定时任务

如果单体架构中有定时任务,当升级到集群时,强烈建议你把定时任务独立出来,只部署一份,让它单独运行。要是集群中存在多个相同定时任务,就等于一个定时任务跑了很多次,天下大乱了!如果你代码里面的定时任务不好拆分独立出来,那就只好使用一些开源的作业调度框架,比如Quartz。对简单的定时任务,我们也可以使用分布式锁做限制,让相同的任务只执行一次。

2023-03-22 13:45:13 439

原创 Java集群实战:单体架构升级到集群架构(三)上传文件的共享

先看看这样子的一张图:这张图是《Java集群:单体架构升级到集群架构(一)使用NGINX建立集群》里面使用的。如果我们有上传文件的功能,那么这两台TOMCAT收到上传的文件,就要放到两台TOMCAT都能访问的地方。如果大家使用的是云服务器,推荐大家使用对象存储服务,比如腾讯云的COS,阿里云的OSS。另外HADOOP里面的HDFS也可以考虑。如果你一分钱都不想多花,一行代码都不想多写,好吧,那就使用共享文件夹吧。今天我们就来使用这免费白嫖的共享文件夹。

2023-03-22 13:44:58 502

原创 Java集群实战:单体架构升级到集群架构(二)实现session共享

默认情况下,session是保存在TOMCAT服务器内存中的,如果我们有两个TOMCAT,它们的session是没有共享的。我们这回要做的就是把session保存在redis中,这样两个TOMCAT就可以共享session了。其实这货的详细原理还是很复杂的,不过大家只要记住一点:TOMCAT要作集群就必须实现session共享。还好,这个功能实现起来比较简单,下面我们来实现它。

2023-03-22 13:44:49 721 2

原创 Java集群实战:单体架构升级到集群架构(一)使用NGINX建立集群

对于大厂的IT技术人员来说,微服务架构是天天都在使用,滚瓜烂熟了。而对小厂的菜鸟程序员来说,我们天天做的都是CRUD,对我们来说集群、分布式、微服务也只是头脑中一个模糊的概念。我们写的大多是单体架构的系统,运行在一台服务器上,如果用户量增加了,服务器撑不住了,我们就加配置吧,反正阿里云腾讯云现在加配置也很容易。但是如果有一天(希望所有菜鸟都有这么一天),我们的用户数增加太快太多,使用最高配置的服务器还是撑不住,对我们来说这算不算是幸福的烦恼?――幸福的是老板,烦恼的却是我们。

2023-03-22 13:44:39 1615

原创 浏览器调用本地DLL的方法

在电脑上安装一个助手程序,浏览器通过HTTP GET请求调用助手程序,助手程序再调用本地DLL,并把调用结果反馈到浏览器中。

2023-01-27 16:13:47 5146

原创 Windows系统安装轻量级高性能Web服务开发框架OAT++

oat++ 是一个轻量级高性能 Web 服务开发框架,采用纯 C++ 编写而成。

2023-01-19 16:47:41 3909 1

原创 以太坊NFT代码示例(合约地址0x6d2e83a559c1fbe0cc677d10a22f28f0f8b1f325)

NFT

2022-07-12 13:40:40 7777

转载 以太坊智能合约ERC721代码示例

pragma solidity ^0.4.24;/** * Utility library of inline functions on addresses */library Address {  /**   * Returns whether the target address is a contract   * @dev This function will return...

2018-11-06 20:38:32 3198 2

原创 在etherscan.io网站校验智能合约源码

有图有真相第一步,打开

2018-06-29 09:16:42 6749 4

原创 结对编程

很喜欢这句话:结对编程应该是软件小组工具库中最有用的工具之一。要弄清楚什么时候及如何使用它。原文链接http://softwarecreation.org/2008/pair-programming-to-do-or-not-to-do/      以前第一次看到极限编程的文章时,对于里面所列出的多数核心实践都比较容易接受,唯独对于结对编程心里有疑惑。后来做了很多实践,有成功的也有失败的。最经

2016-09-06 15:48:54 382

转载 高性能网络服务器编程:为什么linux下epoll是最好,Netty要比NIO.2好?

原文:http://blog.sina.com.cn/s/blog_4c8c58ce0102vkbo.html  基本的IO编程过程(包括网络IO和文件IO)是,打开文件描述符(windows是handler,java是stream或channel),多路捕获(Multiplexe,即select和poll和epoll)IO可读写的状态,而后可以读写的文件描述符进行IO读写,由于IO设备速度和

2016-07-23 10:38:55 10034

原创 【工作小结】手机WIFI网络抓包的几种方法

一、使用笔记本电脑WIFI热点和抓包软件1、 拿一台WIN7笔记本电脑,用网线连接上网2、 把笔记本电脑设置成WIFI热点3、 笔记本电脑安装抓包软件wireshark,就可以对连上WIFI热点的手机进行抓包只要有WIFI功能的手机都可以使用这种方法,手机不用root,所有协议包也都可以抓得到。使用台式机加上有热点功能的无线WIFI网卡,也可以达到相同效果。二、在手机WIFI连

2014-04-26 19:42:00 14161

原创 学习笔记:安装流媒体服务器Catra Streaming Platform For Windows

本文大部分内容是从《CatraStreamingPlatformManual_v01.pdf》和它的官网http://www.catrasoftware.it/Streaming/CatraStreamingPlatform.htm翻译过来的。Catra Streaming Platform包括一个开放、可扩展的流媒体服务器,一个管理站内所有服务器的GUI,以及一些处理媒体文件的MP4工具。

2012-11-16 20:37:14 1957

原创 源码:一键关闭所有IE进程

有个朋友,是篮球迷,经常上班时间看NBA,还同时打开好多个IE浏览器,前天让领导抓了个现行,被批评了一通。这家伙死不悔改,硬逼我给他写个小程序,要求按一下方向键就可以关闭所有IE窗口。没办法,谁让我交友不慎呢!只好给他写一个。源码下载地址:http://download.csdn.net/detail/dengxiaodai/4741892操作系统:WINDOWS XP、WINDOWS S

2012-11-07 13:26:08 762

原创 纯属扯淡

机器能否实现智能?符号主义、连接主义和行为主义谁能代表AI的未来?      神经网络的拓扑结构和权重是如何表示知识的,有没有一般规律可遵循?      总觉得连接主义不属于现代科学。它和中医一样,更接近于玄学。不同的是中医有一套完整理论,而连接主义暂时还没有。中医理论虽然难懂,据说如果具备了内证能力,应该可以轻松理解、掌握它。如果不会内证,学中医就只是知其然而不知其所以然。问题在于,不知

2012-10-20 13:34:32 249

Notepad++ 7.5.9版 windows64位和32位

Notepad++ 7.5.9版 windows64位和32位打包下载。Notepad++是 Windows操作系统下的一套文本编辑器(软件版权许可证: GPL),有完整的中文化接口及支持多国语言编写的功能(UTF8技术)。 Notepad++功能比 Windows 中的 Notepad(记事本)强大,除了可以用来制作一般的纯文字说明文件,也十分适合编写计算机程序代码。Notepad++ 不仅有语法高亮度显示,也有语法折叠功能,并且支持宏以及扩充基本功能的外挂模组。

2018-11-05

深度学习UFLDL教程

本教程将阐述深度学习的主要观点。通过学习,你也将实现多个功能学习/深度学习算法,能看到它们为你工作,并学习如何应用/适应这些想法到新问题上。英文原文作者: Andrew Ng, Jiquan Ngiam, Chuan Yu Foo, Yifan Mai, Caroline Suen

2017-09-27

斯坦福大学-深度学习基础教程

本教程将阐述无监督特征学习和深度学习的主要观点。通过学习,你也将实现多个功能学习/深度学习算法,能看到它们为你工作,并学习如何应用/适应这些想法到新问题上。http://deeplearning.stanford.edu/wiki/index.php/UFLDL%E6%95%99%E7%A8%8B

2017-09-27

Notepad++ windows64位

Notepad++是 Windows操作系统下的一套文本编辑器(软件版权许可证: GPL),有完整的中文化接口及支持多国语言编写的功能(UTF8技术)。 Notepad++功能比 Windows 中的 Notepad(记事本)强大,除了可以用来制作一般的纯文字说明文件,也十分适合编写计算机程序代码。Notepad++ 不仅有语法高亮度显示,也有语法折叠功能,并且支持宏以及扩充基本功能的外挂模组。

2017-09-27

curl_7_52_1_openssl_nghttp2_x64.7z

curl是利用URL语法在命令行方式下工作的开源文件传输工具。 使用命令:curl http://curl.haxx.se 这是最简单的使用方法。用这个命令获得了http://curl.haxx.se指向的页面,同样,如果这里的URL指向的是一个文件或者一幅图都可以直接下载到本地。

2017-09-27

gitblit-1.8.0

Gitblit 是一个纯 Java 库用来管理、查看和处理 Git 资料库.相当于 Git 的 Java 管理工具.git的管家. gitblit-1.8.0.zip是WINDOWS版本。

2017-09-27

TensorFlow官方文档中文版.pdf

机器学习作为人工智能的一种类型,可以让软件根据大量的数据来对未来的情况进行阐述或预判。如今,领先的科技巨头无不在机器学习下予以极大投入。Facebook、苹果、微软,甚至国内的百度。Google 自然也在其中。「TensorFlow」是 Google 多年以来内部的机器学习系统。如今,Google 正在将此系统成为开源系统,并将此系统的参数公布给业界工程师、学者和拥有大量编程能力的技术人员

2017-09-14

源码:一键关闭所有IE

按一下方向键就可以关闭所有IE。 操作系统:WINDOWS XP、WINDOWS SERVER 2003 开发环境:VS2005 开发语言:VC++ 设计思路:程序运行后,先挂载一个键盘HOOK,当用户按下方向键时,触发HOOK回调函数,在回调函数中找出系统中的所有iexplorer.exe进程,把它们全部关闭掉。

2012-11-07

空空如也

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

TA关注的人

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