- 博客(28)
- 收藏
- 关注
原创 sql执行时间过长如何优化?
1、查看sql是否涉及多表的联表或者子查询,如果有,看是否能进行业务拆分,相关字段冗余或者合并成临时表(业务和算法的优化)。2、涉及链表的查询,是否能进行分表查询,单表查询之后的结果进行字段整合。3、如果以上两种都不能操作,非要链表查询,那么考虑对相对应的查询条件做索引,加快查询速度。4、针对数量大的表进行历史表分离(如交易流水表)。5、数据库主从分离,读写分离,降低读写针对同一表同时的压力,至于主从同步,mysql有自带的binlog实现主从同步。6、explain分析sql语句,查看执行计划,
2021-01-14 15:34:35
2346
转载 RPC与Http的区别
一.远程调用方式无论是微服务还是分布式服务(都是SOA,都是面向服务编程),都面临着服务间的远程调用。那么服务间的远程调用方式有哪些呢?常见的远程调用方式有以下几种: RPC:Remote Produce Call远程过程调用,类似的还有RMI(Remote Methods Invoke 远程方法调用,是JAVA中的概念,是JAVA十三大技术之一)。自定义数据格式,基于原生TCP通信,速度快,效率高。早期的webservice,现在热门的dubbo,都是RPC的典型 RPC的框架:webs
2021-01-13 09:23:05
2132
原创 serialVersionUID的作用
变量serialVersionUID称为序列化版本号,这个变量多用于实现了Serializable的类中,试用场景是类的序列化。当我们没有定义这个变量的时候,虚拟机会根据类的属性算出一个独一无二的该变量值,在序列化的时候对该变量赋值,并随类一同序列化。反序列化的时候,虚拟机同样会先读取该变量值,然后再当前读取的类中寻找同样的变量值,如果找到,那么反序列话成功,找不到即会报异常。使用虚拟机默认计算的serialVersionUID就会有一个明显的劣势,那就是类一旦序列化后,我们就不能修改该类了,因为
2020-12-15 14:15:07
203
原创 HttpServletRequest 接收数据转对象实体
@RequestMapping(value = "/xxx")@ResponseBodypublic String callBack(HttpServletRequest request) { // GET CallBackUrlResultVo callBackUrlResultVo = new CallBackUrlResultVo(); ServletRequestDataBinder binder = new ServletRequestDat.
2020-10-30 14:33:54
1920
转载 StringUtils类API及使用方法详解
依赖包:<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-lang3 --><dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>3.11</version>...
2020-08-20 18:14:06
920
转载 Delphi WebBrowser内核版本修改
Delphi WebBrowser内核版本修改WebBrowser的默认内核是IE的改变内核版本的操作:1、在开始菜单内输入“regedit.exe”,进入注册表编辑器2、找到注册表项:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION在右侧空白区域内单击鼠标右键,点击[新建]→[DWORD(32-位)值]新建的项取名为 你.
2020-08-11 18:43:35
1287
转载 java-selenium八种元素定位方式
八种定位方式一、ID定位 一般情况下页面元素的id属性在当前网页中是唯一的所以使用ID定位可以保证定位的唯一性,不会像其他定位方式一样可能定位到多个页面元素。但有的网页页面元素没有id属性值,导致无法使用ID定位方式。 HTML 源码<a onclick="return false;" id="lb" name="tj_login" href="https://passport.baidu.com/v2/?login&tpl=mn&">登录&l
2020-07-16 14:13:18
783
转载 delphi 使用WindowsAPI回调函数EnumWindowsProc获取系统窗口列表
unit GetWinProcMainForm;interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) mmo: TMemo; btn1: TButton; procedure btn1Click(Sender: TObject); priv..
2020-06-30 10:19:53
532
原创 Delphi 中 FindWindow 和 FindWindowEx 的语法和用法
FindWindow(lpClassName,{窗口的类名}lpWindowName: PChar{窗口的标题}): HWND;{返回窗口的句柄; 失败返回 0}//FindWindowEx 比 FindWindow 多出两个句柄参数:FindWindowEx(Parent: HWND;{要查找子窗口的父窗口句柄}Child: HWND;{子窗口句柄}ClassName: PChar;{}WindowName: PCha...
2020-06-30 10:15:26
1281
转载 Delphi中WebBrowser自定义拦截、重写Alert对话框消息
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, OleCtrls, SHDocVw, ActiveX; type IDocHostShowUI = interface(IUnknown) ['{c4d244b0-d43e-11cf-893b-00aa00bdce1a}'] function .
2020-06-30 10:09:53
310
转载 Delphi Webbrowser中自动点击Alert弹出窗口中的按钮
function CallBackProc(H, HMainForm: hwnd): Boolean; stdcall;varhChild: hwnd;beginResult := True;if GetParent(H) = HMainForm then beginhChild := FindWindowEx(H, 0, PChar('Button'), PChar('OK'));if hChild > 0 then SendMessage(hChild, ...
2020-06-27 19:07:34
425
原创 WebBrowser操作元素值填表
1.自动填写表单并发布两种方法vari:integer;Doc:IHTMLDocument2;input:OleVariant;userinputelement,pwdinputelement,ValidateElement:ihtmlinputelement;ValidateImage:IHTMLImgElement;imagecount:integer;form:ihtmlformelement;myitem:Olevariant;...
2020-06-24 18:57:44
340
转载 delphi WebBrowser的使用方法详解
网页代码:<SELECT id=fy onchange=TouchRefresh(1) name=fy> <OPTION selected value=15>每頁顯示15筆</OPTION> <OPTION value=30>每頁顯示30筆</OPTION> <OPTION value=60>每頁顯示60筆</OPTION></SELECT>1.webbrowser执行网页中的JS函数如果要执行To.
2020-06-24 14:55:43
1499
转载 判断为空的常用方法
1、判断字符串或者对象是否为空首先来看一下工具StringUtils的判断方法: 一种是org.apache.commons.lang3包下的; 另一种是org.springframework.util包下的。这两种StringUtils工具类判断对象是否为空是有差距的: StringUtils.isEmpty(CharSequence cs); //org.apache.commons.lang3包下的StringUtils类,判断是否为空的方法参数是字符序列类,也就是String类型..
2020-06-08 09:13:39
6061
转载 Delphi中WebBrowser的使用技巧汇总
1>调用网页中已知对象src := WebBrowser1.OleObject.document.getElementByIdx(’id1′).src其实就是javascript中的 getElementByID 的函数2>获得网页中的某个变量值Html中的代码 : <script> var userID=123</script>在delphi程序中这么调用id := Form1.WebBrowser1.OleObject.Document.script
2020-05-26 19:10:44
572
转载 mysql优化技巧
MySQL优化三大方向① 优化MySQL所在服务器内核(此优化一般由运维人员完成)。② 对MySQL配置参数进行优化(my.cnf)此优化需要进行压力测试来进行参数调整。③ 对SQL语句以及表优化。MySQL参数优化1:MySQL 默认的最大连接数为 100,可以在 mysql 客户端使用以下命令查看mysql> show variables like 'max_connections';2:查看当前访问Mysql的线程mysql> show processlist;
2020-05-15 14:50:17
204
转载 MySQL数据库高并发优化配置
在Apache, PHP, mysql的体系架构中,MySQL对于性能的影响最大,也是关键的核心部分。对于Discuz!论坛程序也是如此,MySQL的设置是否合理优化,直接 影响到论坛的速度和承载量!同时,MySQL也是优化难度最大的一个部分,不但需要理解一些MySQL专业知识,同时还需要长时间的观察统计并且根据经验 进行判断,然后设置合理的参数。下面我们了解一下MySQL优化的一些基础,MySQL的优化我分为两个部分,一是服务器物理硬件的优化,二是MySQL自身(my.cnf)的优化。...
2020-05-15 14:48:33
338
转载 数据量多的时候为什么要使用redis而不用mysql?
通常来说,当数据多、并发量大的时候,架构中可以引入Redis,帮助提升架构的整体性能,减少Mysql(或其他数据库)的压力,但不是使用Redis,就不用MySQL。因为Redis的性能十分优越,可以支持每秒十几万此的读/写操作,并且它还支持持久化、集群部署、分布式、主从同步等,Redis在高并发的场景下数据的安全和一致性,所以它经常用于两个场景:缓存经常会被查询,但是不经常被修改或者删...
2020-04-14 10:42:00
1828
转载 到底什么时候使用MQ?
一、缘起一切脱离业务的架构设计与新技术引入都是耍流氓。引入一个技术之前,首先应该解答的问题是,这个技术解决什么问题。就像微服务分层架构之前,应该首先回答,为什么要引入微服务,微服务究竟解决什么问题(详见《互联网架构为什么要做微服务?》)。最近分享了几篇MQ相关的文章:《MQ如何实现延时消息》《MQ如何实现消息必达》《MQ如何实现幂等性》不少网友询问...
2020-04-14 09:45:57
131
原创 SuperObject (String To TSuperArray)
Demo1:productList := '[{"area":"全国","isp":"移动","amount":"10","productId":"20216"},' + '{"area":"全国","isp":"联通","amount":"10","productId":"20325"}]';productArray := SO(F_query.productList).As...
2020-01-14 17:34:59
1331
转载 公众号微信支付开发
1.第一步:设置微信支付目录,这个地址指到支付页面的上一级即可。例如:支付页面的地址是http://www.baidu.com/wechat/pay/shopping,只需填写http://www.baidu.com/wechat/pay/,一定要以"/"(左斜杆)符号结尾。2.第二步:设置授权域名,授权域名是为了获取支付中不可缺少的参数openid。每个用户对于每个公众号的...
2019-11-05 11:11:30
371
转载 Native.js示例汇总
Android平台监听手机锁屏,解锁,开屏http://ask.dcloud.net.cn/article/35205直接拨打电话http://ask.dcloud.net.cn/question/4035将程序切换到后台http://ask.dcloud.net.cn/question/2484强制弹出软键盘http://ask.dcloud.net.cn/...
2019-10-17 14:00:19
1237
转载 Delphi xe 10.3之安装 TServerSocket 和TClientSocket
The socket components are not installed by default. To use the socket components, you must install thedclsockets<.bpl>package.To install the socket components:SelectComponent >Install...
2019-10-14 16:45:02
550
原创 关于Dephi的Unicode转ASCII中文
示例:测试转码转码:测试转码function uni2ascii(html: string): string;var i, p, len: integer; gbc, ttxt: string;begin p := pos('&#', html); while (p &...
2019-08-19 14:06:14
701
转载 HTTP与TCP的区别和联系
一、基本概念1、TCP连接 手机能够使用联网功能是因为手机底层实现了TCP/IP协议,可以使手机终端通过无线网络建立TCP连接。TCP协议可以对上层网络提供接口,使上层网络数据的传输建立在“无差别”的网络之上。建立起一个TCP连接需要经过“三次握手”:第一次握手:客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;...
2019-08-14 18:41:18
115
转载 使用@Autowired注解警告Field injection is not recommended
转载链接:https://blog.youkuaiyun.com/zhangjingao/article/details/81094529
2019-08-14 16:28:53
370
转载 Delphi XE10 MD5获取方法
Delphi XE10 以上版本如下获取:单元引用 IdHashMessageDigest, IdHash;声明如下方法:type TMD5= class(TIdHashMessageDigest5); function StrToMD5(s: string): string; overload; function StrToMD516(s: string; l: int...
2019-07-11 16:59:19
1910
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人