- 博客(47)
- 资源 (1)
- 收藏
- 关注
原创 索引命中规则
t这张表 a,b,c 三个字段组成组合索引select * from t where a=? and b=? and c=? 全命中 select * from t where c=? and b=? and a=? 全命中 解析MySQL的查询优化器会自动调整where子句的条件顺序以使用适合的索引 select * from t where a=? 命中a 解析:最左前缀匹配...
2019-11-25 14:51:56
904
原创 Linux 桌面应用程序
要在Linux下开发具有图形界面的桌面应用程序,我们有许多选择。当然,除了语言方面的考虑外,我们更多的是考虑窗口部件工具箱(以前成为控件库或组件库)的选择,这将在很大程度上影响我们的开发效率。总结:Pyqt用于RAD开发GUI桌面引用是相当不错的,至少比java、C++都要简单的多。除了能够使用python本身的系统函数之外,我们还可以直接调用qt的各种类,也能借助qt的信号/插槽机制秦颂实现实...
2019-10-09 14:15:28
4402
原创 MYSQL 事务处理
MYSQL 事务处理主要有两种方法:1、用 BEGIN, ROLLBACK, COMMIT来实现BEGIN 开始一个事务ROLLBACK 事务回滚COMMIT 事务确认2、直接用 SET 来改变 MySQL 的自动提交模式:SET AUTOCOMMIT=0 禁止自动提交SET AUTOCOMMIT=1 开启自动提交示例:begin;update bms_goods set ...
2019-09-04 16:14:46
172
原创 JDK8 Lambda & Stream使用笔记
List shopIdList = deviceList.stream().map(Device::getShopId).collect(Collectors.toCollection(ArrayList::new));Map<Long, Shop> shopMap = shopList.stream().collect(Collectors.toMap(Shop::getId,...
2019-08-21 16:21:18
187
原创 算法学习秘籍-总结
1、保持可以练习“It’s what you do in the dark,that puts you in the light”,所表达的也正是刻意练习的重要性。想要突破算法的瓶颈,必须要经过可以联系,走出舒适区,联系缺陷、弱点的地方。2、刷题的最大误区最大的误区,即刷题只刷一遍、代码只写一遍。3、活用解题模板4、相信伙伴的力量“让优秀的人一起学习”。让自己痛苦的“升级打怪”过程不...
2019-07-10 12:07:39
230
原创 SrpingBoot 热部署
一、模板的热部署在Spring Boot里,模板引擎的页面默认是开启缓存的 ,如果修改了页面的内容,则刷新页面是得不到修改后的页面的,因此,我们可以在application.properties中关闭模板引擎的缓存,Thymeleaf的配置:spring.thymeleaf.cache=falseFreeMarker的配置:spring.freemarker.cache=falseG...
2019-06-25 17:16:09
146
原创 java半自动化编程的设计与实现
1、区分业务需求的区别页面:后台管理系统2、自动生成代码1、非业务相关,连接数据库,生成数据持久层代码上层代码,MVC,包括与数据库相对应的JavaBean,dao层mapper,service与serviceImpl,controller2、业务相关,1、service与serviceImpl代码的生成2、controller代码的生成生成一个适合你的列表项目项目项目...
2019-06-19 16:43:22
796
原创 SpringBoot自动配置与业务不相关的公共包设计
思路:一些公用自动配置比如mysql的一些配置需要每个微服务包都写一遍自动配置SpringBoot
2019-06-19 16:31:48
340
原创 广告投放微服务设计与实现
1、PDM设计数据库设计思路:2、代码实现装饰者模式装饰者模式又称为开放-关闭原则:类应该对扩展开放,对修改关闭。你需要把注意力集中在设计中最有可能改变的地方,然后应用开放-关闭。...
2019-06-18 21:04:02
399
原创 JAVA使用魔法数字
JAVA使用魔法数字说明:所谓魔法数值,是指在代码中直接出现的数值,只有在这个数值记述的那部分代码中才能明确了解其含义。 魔法数值使代码的可读性大大下降。而且,如果同样的数值多次出现时,到底这些数值是不是带有同样的含义呢,谁也说不清楚。另一方面,如果本来应该使用相同数值的地方,一旦用错了,也很难发现。因此,需要注意以下几点,极力避免使用魔法数值。 ① 不使用魔法数值,代之以有名字的Static
2018-01-04 11:44:23
1773
原创 druid使用
使用原因: 由于项目中有好多sql写的不够规范,导致项目在运行时效率得到阻碍,利用德鲁伊来监控一下看看那些sql需要优化,才得此机会了解阿里这个开源的监控组件. 首先了解一下,什么是Druid. Druid是Java语言中最好的数据库连接池,它能够提供强大的监控和扩展功能。 Druid是一个JDBC组件,它包括三部分: 1)DruidDriver 代理Dri
2017-11-15 22:28:55
591
原创 什么防止你成为一个合格的程序员(痛痛痛点)
1) 不会英语:重量级的文档都是英文的。不会英语,那么你只能忍受拙劣的翻译和大延迟的文档(翻译出来的文档几乎都是很久以前出版的东西)。 2) 急于求成:什么都没学习就开始编程是最大的忌讳。写java程序语法都能错,数据结构单链表都不知道,数据库不知道关系模型,TCP编程不知道socket,还是先坐下来学习几年再说(如果说工作急需,我只能说:早干嘛去了) 3) 过于好问:勤学好问是一种很好的品质,
2017-10-15 22:33:35
367
转载 拖延症
人为什么会有拖延症呢?1、诱惑太多,容易被打扰 写两封邮件就想刷朋友圈、本来要查资料结果看起八卦新闻来、甚至本来想在网上买箱牛奶,不知怎么莫名其妙就点进了手机促销的界面…… 想想没有手机和电脑的小时候,我们都是能看一下午故事书的人啊。2、觉得时间还有很多,所以不着急 英语考试还有一个月呢,今天偷点懒没事;离上课还有半小时,再睡5分钟,只要5分钟,不会迟到的。可是就是在这一点一点的拖延下
2017-10-15 21:43:35
276
原创 radio、select,选取值与赋值
赋值:$(":radio[name='childRole'][value='" + childRole + "']").prop("checked", "checked");$("#unitId1 option[value='" + _unitId + "']").prop("selected", true);取值:$("input[name='radio_name']:checked").val(
2017-08-30 15:18:28
810
转载 MySql 优化
1 优化SQL步骤 通过 show status和应用特点了解各种 SQL的执行频率 定位执行效率较低的SQL语句 通过EXPLAIN 分析低效 SQL的执行计划 2 MySQL索引 mysql如何使用索引 查看索引使用情况SQL优化大全笔记 1、MySQL在查询时最多只能使用一个索引; 2、MySql优化器;
2017-08-14 21:26:34
251
原创 WebJars 记录
WebJarsWebJars是一个很神奇的东西,可以让大家以jar包的形式来使用前端的各种框架、组件。什么是WebJars什么是WebJars?WebJars是将客户端(浏览器)资源(javascript,Css等)打成jar包文件,以对资源进行统一依赖管理。WebJars的jar包部署在Maven中央仓库上。为什么使用我们在开发Java web项目的时候会使用像Maven,Gradle等构建工具以
2017-06-30 18:37:23
731
原创 支付功能集成包-简单设计
1、接口调用配置 初始化方式:XdpayClient xdpayClient = new DefaultAlipayClient(URL,APP_ID,APP_PRIVATE_KEY,FORMAT,CHARSET,ALIPAY_PUBLIC_KEY,SIGN_TYPE);XdpayClient xdpayClient = new DefaultWxpayClient(...);XdpayClien
2017-06-21 19:00:47
399
转载 spring之@Transactional事务传播性 --Required
Required:必须有逻辑事务,否则新建一个事务,使用PROPAGATION_REQUIRED指定,表示如果当前存在一个逻辑事务,则加入该逻辑事务,否则将新建一个逻辑事务,如图9-2和9-3所示; 图9-2 Required传播行为 图9-3 Required传播行为抛出异常情况 在前边示例中就是使用的Required传播行为: 一、在调用user
2017-06-20 16:32:47
654
转载 微服务框架选择:Spring Cloud还是Dubbo?
虽然dubbo项目已经不知道为什么被ali爸爸解散了。但还是有一段时间执着的想用dubbo。所以copy+记录此文。Round 1:背景 Dubbo,是阿里巴巴服务化治理的核心框架,并被广泛应用于阿里巴巴集团的各成员站点。阿里巴巴近几年对开源社区的贡献不论在国内还是国外都是引人注目的,比如:JStorm捐赠给Apache并加入Apache基金会等,为中国互联网人争足了面子,使得阿里巴巴在国人眼里已
2017-06-20 16:22:03
316
原创 Spring Mybatis 配置、多数据源配置(数据源动态匹配问题)
遇到的问题:1、多数源配置问题(Spring支持),sqlSessionFactory匹配,引出: @Resource、@Autowired、@Qualifier的注解注入及区别在Java代码中可以使用 @Resource或者@Autowired注解方式来经行注入。虽然@Resource和@Autowired都可以来完成注入依赖,但它们之间是有区 别的。a。@Resource默认是按照名称来装配注
2017-06-08 11:46:14
840
原创 springBoot 学习
spring Boot是Spring社区较新的一个项目。该项目的目的是帮助开发者更容易的创建基于Spring的应用程序和服务,让更多人的人更快的对Spring进行入门体验,让Java开发也能够实现Ruby on Rails那样的生产效率。为Spring生态系统提供了一种固定的、约定优于配置风格的框架。Spring Boot具有如下特性:1、为基于Spring的开发提供更快的入门体验 2、开箱即用,
2017-06-08 10:45:18
284
原创 ms系统-拆库-重构(待续)
现状: MS使用库88(119.61.66.57),被多个系统同时使用。在资源有效性利用和业务逻辑的清晰度上面都存在巨大的问题。使用的系统:业务系统库(用户、课程、题库),MS系统改造思路:admin相关表放到119.61.66.52库里面。MS系统是为APP业务系统提供服务的,他自身的数据也是业务数据。分库目标+规则:mysql.admin.51xiaodou.com 119.61.
2017-05-25 17:30:56
710
原创 SpringMVC 生命周期
首先,浏览器会发送请求,我们的项目通过spring中的一个叫做dispatcherServlet名字的一个servlet来接收请求. 这个Servlet接收请求后 会验证是否是第一次加载这个Servlet。如果是第一次加载这个Servlet 则此时dispatcherServlet会做一些初始化操作。 1.dispatcherServlet会初始化HandlerMapping(注:通过
2017-05-23 20:43:23
1227
原创 spring 允许 Bean 在初始化完成后以及销毁前执行特定的操作
Spring 容器中的 Bean 是有生命周期的,spring 允许 Bean 在初始化完成后以及销毁前执行特定的操作。下面是常用的三种指定特定操作的方法:通过实现InitializingBean/DisposableBean 接口来定制初始化之后/销毁之前的操作方法;通过<bean> 元素的 init-method/destroy-method属性指定初始化之后 /销毁之前调用的操作方法;在
2017-05-04 15:52:34
871
原创 iframe 父页面与子页面之间的方法、属性的相互调用
jquery 在父窗口中获取iframe中的元素 1、格式:$("#iframe的ID").contents().find("#iframe中的控件ID").click();//jquery 方法1实例:$("#ifm").contents().find("#btnOk").click();//jquery 方法12、格式:$("#iframe中的控件ID",document.frames("
2017-04-10 13:34:55
8875
原创 JS 声明全局变量的三种方式
JS中声明全局变量主要分为显式声明或者隐式声明下面分别介绍。 声明方式一: 使用var(关键字)+变量名(标识符)的方式在function外部声明,即为全局变量,否则在function声明的是局部变量。该方式即为显式声明详细如下:<script> var test = 5;//全局变量 function a(){ var a = 3;//局部变量 alert(a)
2017-04-06 21:47:37
62229
原创 <a>标签用法
<a href="http://www.baidu.com" target="_Blank">百度</a>_Blank是新窗口 _Self是自身 _Parent是父窗口 _Top是顶层窗口 当然也可以是自己定义的一个frame 的名字 比如<a href="http://www.baidu.com" target="frame1">百度</a>
2017-04-05 17:07:22
269
原创 datepicker自定义显示年月日
$("#datepicker").datepicker({ language: "zh-CN", todayHighlight: true, format: 'yyyy-mm-dd', autoclose: true, startView: 'days', maxViewMode:
2017-04-05 16:43:02
1916
原创 interceptor(拦截器)与filter(过滤器)的区别
使用过程中容易混淆的两个概念: 在此先总结以下拦截器是基于java的发射机制的,而过滤器是基于函数回调的(有待研究)拦截器不依赖于servlet容器,过滤器依赖于servlet容器拦截器只能对action请求起作用,而过滤器则可以对几乎所有的请求起作用拦截器可以访问action的上下、值栈里的对象,而过滤器不能在action的生命周期中,拦截器可以多次被调用,而过滤器只能在容器初始化时被
2017-03-23 15:10:21
269
转载 jvm原理(转载收藏)
什么是JVM?JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。Java虚拟机包括一套字节码指令集、一组寄存器、一个栈、一个垃圾回收堆和一个存储方法域。 JVM屏蔽了与具体操作系统平台相关的信息,使Java程序只需生成在Java虚拟机上运行的目标代码(字节码),就
2017-03-16 13:08:08
376
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人