A code cleanliness code farmers, A programmer concentrate on elegant design, A want to do with the product architect
暂时未有相关通用技术能力~
阿里云技能认证
详细说明java.util.Collections /** * Randomly permutes the specified list using a default source of * randomness.
反思了下,解决问题无外乎3w1h when where who how 就是查询出来的事情多了,现在不知道哪个地方出问题,应该根据日志一步一步梳理,查看每一步的输出结果是否与预期一致 顺藤摸瓜 觉得不清楚的地方,可以新增打印,或通过其它方法获取这些不可知的信息。
单库单表 单库单表是最常见的数据库设计,例如,有一张用户(user)表放在数据库db中,所有的用户都可以在db库中的user表中查到。 单库多表 随着用户数量的增加,user表的数据量会越来越大,当数据量达到一定程度的时候对user表的查询会渐渐的变慢,从而影响整个DB的性能。
在 Redis 里,所谓 SETNX,是「SET if Not eXists」的缩写,也就是只有不存在的时候才设置,可以利用它来实现锁的效果,不过很多人没有意识到 SETNX 有陷阱! 比如说:某个查询数据库的接口,因为调用量比较大,所以加了缓存,并设定缓存过期后刷新,问题是当并发量比较大的时候,如果没有锁机制,那么缓存过期的瞬间,大量并发请求会穿透缓存直接查询数据库,造成雪崩效应,如果有锁机制,那么就可以控制只有一个请求去更新缓存,其它的请求视情况要么等待,要么使用过期的缓存。
作为一个社交类的 App ,我们有很多操作都会同时发生,为了确保数据的一致性,会采用数据库的事物。 比如现在我们有一个点赞操作,点赞成功后,需要更改文章的热度。以下是 SQL 语句: INSERT INTO user_praise(uid,plan_id,stage_id) VALUES(123456,14456,10023); UPDATE plan_hot SET hot = hot + 1 WHERE plan_id = 14456; 在这里我们需要用到事物来确保它的原子性,也就是要么这两条语句全部执行成功,要么就全部回滚。
最近一段时间,OSChina 网站在早上 8 点出头的时候很容易因为数据库连接池爆满而导致网站宕机。表现的情况是数据库处理大量的查询,堆积大量并发连接,导致无法再连接到数据库,执行一个简单的查询速度也非常慢,数据库机器的 CPU 很高。
select c1.carid,c1.cartype,c2.enginetype,c2.enginecylinders from cars c1,cars c2 where c1.carid=c2.carid 聚集元素用来处理“一对多”的关系。
@Resource和@Autowired两者都是做bean的注入使用。其实@Resource并不是Spring的注解,他的包是javax.annotation.Resource 需要导入。但是Spring支持该注解的注入。
http://docs.oracle.com/javase/7/docs/technotes/guides/language/try-with-resources.html The try-with-resources Statement The try-with-resources s...
一直在用Spring,其实对其了解甚少,刚去了解了一下Spring中Bean的命名问题以及ref和idref之间的区别,略作记录,以备后查。 Spring中Bean的命名 1、每个Bean可以有一个id属性,并可以根据该id在IoC容器中查找该Bean,该id属性值必须在IoC容器中唯一;...
先来看下日志对于一个接口服务的作用: 监控服务的状态,一般程序中会增加一些跟踪或者提示性的日志,用来判断服务执行的详细情况,特别是执行一些复合功能的接口或者叫聚合接口非常有利于我们判断接口的执行情况 安全,用来分析调用者的身份信息,防止接口被非法恶意调用等 性能,可以统计每个接口的访问执行时间来分析系统的瓶颈 异常分析,对于线上的异常,在没有debug的环境下,要想分析问题原因最有价值的就要算异常的堆栈信息 上面的这几点需求,如果接口服务使用的是一些高级产品比如dubbo,其实它已经实现了大部分功能,不需要人为的去全部处理功能。
此第一次接触Mybatis框架确实是有点不适应,特别是刚从Hibernate框架转转型过来,那么为什么要使用Mybatis框架,Mybatis框架和Hibernate框架又有什么异同呢? 这个问题在我的另一篇blogs中有专门的讲解,今天我主要是带着大家来探讨一下如何简单的使用Mybatis这个框...
Spring Boot中Jedis几个api返回值的确认 @RequestMapping("/del/{key}") public String del(@PathVariable("key") String key) { try { //键不存在时,也不会抛异常 redisTemplate.
1. Maven要自己安装一个; 2. Maven设置中,settings.xml和repository地址都配置成自己; 3. Enable Auto import 4. 找不到jar文件时,自己的settings.xml如果里面更改mirrors地址, 5.idea 使用maven管理多个Module,A->B,B->C,如果突然C没有什么改动,但报compile失败缺Jar,可以通过在C Module上执行mvn clean install来解决 。
java中的时间操作不外乎这四种情况: 1、获取当前时间 2、获取某个时间的某种格式 3、设置时间 4、时间的运算 好,下面就针对这四种情况,一个一个搞定。 一、获取当前时间 有两种方式可以获得,第一种,使用Date类。
分页程序一般由两条SQL组成: SELECT COUNT(*) FROM ... WHERE ....SELECT ... FROM ... WHERE LIMIT ... 如果使用SQL_CALC_FOUND_ROWS的话,一条SQL就可以了: SELECT SQL_CALC_FOUND_ROWS .
Note GET, primarily used to select resources. Other options for an API method include: POST, primarily used to create child resources.
编译方式介绍 相比较于 Eclipse 的实时自动编译,IntelliJ IDEA 的编译更加手动化,虽然 IntelliJ IDEA 也支持通过设置开启实时编译,但是不建议,因为太占资源了。IntelliJ IDEA 编译方式除了手工点击编译按钮进行编译之外,还有就是在容器运行之前配置上一个编译事件,先编译后运行。
实际应用中,我们会有在项目服务启动的时候就去加载一些数据或做一些事情这样的需求。 为了解决这样的问题,Spring Boot 为我们提供了一个方法,通过实现接口 CommandLineRunner 来实现。
1 需求背景 该应用场景为AdMaster DMP缓存存储需求,DMP需要管理非常多的第三方id数据,其中包括各媒体cookie与自身cookie(以下统称admckid)的mapping关系,还包括了admckid的人口标签、移动端id(主要是idfa和imei)的人口标签,以及一些黑名单id、ip等数据。
目录 一、EasyUI 二、DWZ JUI 三、HUI 四、BUI 五、Ace Admin 六、Metronic 七、H+ UI 八、Admin LTE 九、INSPINIA 十、LigerUI 十一、其它UI 十二、总结 最近要做一个企业的OA系统,以前一直使...
先从web session的共享说起 许多系统需要提供7*24小时服务,这类系统肯定需要考虑灾备问题,单台服务器如果宕机可能无法立马恢复使用,这必定影响到服务。这个问题对于系统规模来说,从小到大可能面临的难度会相差很大。
(1)系统压测时标准不确定,压测时并发数和总的请求数严重偏离实际。导致在解决压测结果不理想上花了太多的精力和时间 (2)对新的服务器环境不熟悉,需要花时间学习使用 (3)因为负载均衡,有两台相同的机器需要部署。
使用OpenSSL生成证书 下载安装openssl,进入/bin/下面,执行命令(把ssl目录下的openssl.cnf 拷贝到bin目录下)1.首先要生成服务器端的私钥(key文件):openssl genrsa -des3 -out server.
证书管理相关问题 常用证书申请流程 1、本地生成私钥:openssl genrsa -out privateKey.pem 2048 其中privateKey.pem为您的私钥文件,请妥善保管。 2、生成证书请求文件:openssl req -new -key privateKey.pem -out server.csr其中server.csr是您的证书请求文件,可用其去申请证书。
org.apache.ibatis.executor.SimpleExecutor public List doQuery(MappedStatement ms, Object parameter, RowBounds rowBounds, ResultHandler r...
1.1 获得当前日期+时间(date + time)函数:now() 除了 now() 函数能获得当前的日期时间外,MySQL 中还有下面的函数: current_timestamp() current_timestamp localtime() localtime localtimestamp() localtimestamp 这些日期时间函数,都等同于 now()。
MyBatis 的配置文件包含了影响 MyBatis 行为甚深的设置(settings)和属性(properties)信息。文档的顶层结构如下: configuration 配置 properties 属性 settings 设置 typeAliases 类型命名 typeHandle...
Calendar中add()和roll()函数的用法一、取某个时间点后的整点时刻。例如1984年7月7日15:23:05后的整点时刻即为1984-07-07 16:00:00。实现如下:Calendar calendar = Calendar.getInstance();calendar.add(Calendar.HOUR_OF_DAY, 1);//小时上加1calendar.set(Calendar.MINUTE, 0);//分钟设为0calendar.set(Calendar.SECOND, 0);//秒钟设为0 二、取某个日历之前的某个月。
The difference between scheduleAtFixedRate and scheduleWithFixedDelay in JAVA Recently, due to the project needs, I have to use multithread technology in JAVA.
1. Overview In this article, we are discussing the Springorg.springframework.beans.factory.NoSuchBeanDefinitionException – this is a common exception...
TCP Keepalive HOWTO Fabio Busatto 2007-05-04 Revision History Revision 1.0 2007-05-04 Revised by: FB First release, reviewed by TM.
解决办法1: 从根本上解决: File-Project Structure 页面 Facets下删掉 Spring(直接右键Delete) 这个解答是对的。并不会降低安全性!!因为创建项目的时候,都是先创建空项目再创建web moduele(你想直接创建web project也可以),一般不会使用spring组件。
Apache Commons Pool实现了对象池的功能。定义了对象的生成、销毁、激活、钝化等操作及其状态转换,并提供几个默认的对象池实现。在讲述其实现原理前,先提一下其中有几个重要的对象: PooledObject(池对象)。
maxWait 连接池中连接用完时,新的请求等待时间,毫秒timeBetweenEvictionRunsMillis timeBetweenEvictionRunsMillis和minEvictableIdleTimeMillis一起使用,每timeBetweenEvictionRunsMillis...
我用他的方法解决了问题,亲测可用,不要用Navicat for Mysql去查询编码,在服务器中以root命令进入mysql,用show variables like 'char%';命令查询的编码才是最准确的.
If you get java.net.SocketTimeoutException: Read timed out exception Try setting own timeout value when constructing JedisPool using the following constructor: JedisPool(GenericObjectPool.
spring.datasource.schema指定启动后执行的sql文件位置。 我发现中文乱码,原因是没有指定执行sql script encoding: spring: datasource: url: "jdbc:h2:mem:test" username: "sa" password: ""schema: database/import.
在bash脚本中的启动方式: #!/bin/bash JAVA_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005" nohup java -jar $JAVA_OPTS scheduler-0.
Spring Boot 其默认是集成web容器的,启动方式由像普通Java程序一样,main函数入口启动。其内置Tomcat容器或Jetty容器,具体由配置来决定(默认Tomcat)。当然你也可以将项目打包成war包,放到独立的web容器中(Tomcat、weblogic等等),当然在此之前你要对程序入口做简单调整。
Apache Commons Pool 故事一则 最近工作中遇到一个由于对commons-pool的使用不当而引发的问题,习得正确的使用姿势后,写下这个简单的故事,帮助理解Apache Commons Pool的工作原理。
vi/vim 中可以使用 :s 命令来替换字符:s/vivian/sky/ 替换当前行第一个 vivian 为 sky :s/vivian/sky/g 替换当前行所有 vivian 为 sky :n,$s/vivian/sky/ 替换第 n 行开始到最后一行中每一行的第一个 vivian 为 sky...
org.springframework.boot:spring-boot:1.3.0.M1 spring-boot-1.3.0.M1.jar package org.springframework.
B.2 Generating your own meta-data using the annotation processor You can easily generate your own configuration meta-data file from items...
又是一篇关于姿势的文章,为什么是”又”呢?因为上个星期刚写完一篇关于Apache Commons Pool的正确使用姿势的文章,点击此处阅读。 Redis为我们提供便利的同时,我们也要善待里面的数据 Redis是我们数据的保管者,我们可以随时存随时取,大的小的,重要的不重要的,它都毫无怨言的帮我们保存着,甚至有些时候,我们变得很懒,存东西进去的时候顺便还贴张纸:“过了一个星期就帮我扔了吧”,对于这些,Redis也都默默的接受了(谁叫Antirez把redis设计的这么好呢)。
添加依赖 org.springframework.boot spring-boot-starter-redis Redis配置 package com.
记录一个耽误30分钟的一个坑: 生成war的jdk版本高于tomcat使用的jdk版本,导致项目不能正常被访问 报404错误
介绍大纲:1. web_url2. web_image3. web_link4. web_submmit_form 详细介绍: 一. web_url web_url 语法: Int Web_url(const char *name, const char * url, , [EXTRARES,,LAST) 返回值 成功时返回LR_PASS (0),失败时返回 LR_FAIL (1)。
录制完成后,run load tests 时,选择start scenario按钮时 竟然出现这么一段话“loadrunner controller cannot create vusers.Ensure that your load generators are available and tha...
最近有个项目的数据库使用postgresql,使用原生态的mybatis操作数据,原生态的没什么不好,只不过国内有个tk.mybatis的工具帮助我们做了很多实用的事情,大多数情况下我们需要在原生态mybatis上加工的想法它基本上都已经有很好的实现,这篇将分享安装postgresql,配置tk.mybatis的详细步骤以及在这过程中可能遇到的一些小问题。