03 2018 档案

摘要:改为 也就是说用左连接代替where条件,这样的话效率会提高很多。 阅读全文
posted @ 2018-03-29 10:11 虚极静笃 阅读(1319) 评论(0) 推荐(0) 编辑
摘要:这里如果是泛型T的话,那么创建该类的时候就需要指定类型,而通配符不需要。 阅读全文
posted @ 2018-03-22 09:15 虚极静笃 阅读(550) 评论(0) 推荐(0) 编辑
摘要:Nginx优化: 两个监控工具: Nginx配置并发、长连接、压缩、状态监控: 关闭和重启: 在该文件下添加属性: 客户端和nginx之间的长连接: 服务器和nginx之间的长连接(这里如果30s内两次失败,那么该服务器会被踢出去:): 然后测试一下有没有问题: 访问(有时8080,有时8081): 阅读全文
posted @ 2018-03-16 11:51 虚极静笃 阅读(387) 评论(0) 推荐(0) 编辑
摘要:Tomcat优化包括: 1.内存优化 2.并发优化 3.APR优化 注意:这里讲的tomcat版本是8.5.20,其他版本不一定适用。 第一:内存优化catalina 找到JAVA_OPTS,加入如下: 第二节:并发优化 把该节点改为如下: 第三节:其他优化 以下都是默认的,不用改 接下来把ajp禁 阅读全文
posted @ 2018-03-16 09:53 虚极静笃 阅读(8181) 评论(0) 推荐(0) 编辑
摘要:1.1.1 反向代理 应该有一个nginx服务器有多个应用服务器(可以是tomcat) 可以使用一台虚拟机,安装一个nginx,多个tomcat,来模拟。 Nginx的配置文件: 1.1.2 负载均衡 只需要在upstream的server后面添加一个weight即可代表权重。权重越高,分配请求的数 阅读全文
posted @ 2018-03-15 17:01 虚极静笃 阅读(640) 评论(2) 推荐(0) 编辑
摘要:并发的问题,瓶颈就在数据库,所以我们要加缓存。 从用户发请求开始,我们可以把页面缓存在用户的浏览器端,请求在到达我们的网站之前我们可以部署一些CDN节点,让请求首先访问CDN。 然后我们可以在nginx加缓存,接着到应用程序的页面缓存,然后到对象缓存,最后才到达数据库 阅读全文
posted @ 2018-03-15 14:03 虚极静笃 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2018-03-15 13:53 虚极静笃 阅读(114) 评论(0) 推荐(0) 编辑
摘要:补充: 实际项目中的主键不能用自增id,我们可以用snowflake算法。 参考:http://mp.weixin.qq.com/s/bIkdcYo32yTEOGn0t8ABeg 核心代码: 阅读全文
posted @ 2018-03-14 15:51 虚极静笃 阅读(286) 评论(0) 推荐(0) 编辑
摘要:编程要有一个习惯:做参数校验 所谓的分布式session:就是用redis统一管理session。 我们这里的思路是:把token写入cookie中,客户端在随后的访问中携带cookie,服务端就能根据cookie中携带的token去redis中查找到user信息。 这里要注意:session的有效 阅读全文
posted @ 2018-03-14 10:33 虚极静笃 阅读(567) 评论(0) 推荐(0) 编辑
摘要:由于秒杀的并发量太大,所以仅仅使用缓存是不够的,还需要用到RabbitMQ。 这里推荐一款用于分库分表的中间件:mycat 解决超卖的问题(看第五章节): 秒杀接口优化: 实操: 然后把下载好的文件上传到服务器上: 验证一下: OK,到这一步,erlang安装好了。 启动rabbitMQ: 关闭: 阅读全文
posted @ 2018-03-13 15:32 虚极静笃 阅读(4770) 评论(0) 推荐(0) 编辑
摘要:页面静态化(注意和页面缓存的区别):直接把html缓存到用户的浏览器上,动态数据通过接口从服务器获取。 所谓的页面静态化或者说前后端分离,就是html+ajax。 阅读全文
posted @ 2018-03-13 14:14 虚极静笃 阅读(200) 评论(0) 推荐(0) 编辑
摘要:页面缓存(如果redis缓存里有就直接返回,如果没有的话就进行手动渲染,同时放入redis缓存): 注意一点,页面缓存一般有效期都不长,以防止更新不及时。 对象缓存(注意,更新数据库以后一定要记住更新缓存或者删除缓存): 注意,一个service引用别人的时候一定要引用别人的service,因为有可 阅读全文
posted @ 2018-03-13 09:54 虚极静笃 阅读(954) 评论(0) 推荐(0) 编辑
摘要:然后修改下入口: 这样程序既可以以war也可以以jar的形式run。 右键项目properties,找到项目位置,然后: 然后放到tomcat的webapps的目录下: 然后启动tomcat:startup.bat 阅读全文
posted @ 2018-03-12 23:02 虚极静笃 阅读(206) 评论(0) 推荐(0) 编辑
摘要:然后依次测试如下命令: 上面第三个命令写错了,要改为: 阅读全文
posted @ 2018-03-12 22:42 虚极静笃 阅读(274) 评论(0) 推荐(0) 编辑
摘要:JMeter在windows下图形界面的使用: 下载: 解压后: 双击打开: 压测不带参数的接口: 然后保存,查看结果: 然后更改线程数多测试几次。 下面我们边用测试边看服务器的负载情况: 这里说个小技巧,怎样使登录服务器的时候直接显示这个画面呢? 明白了吧?直接复制到该文件下即可。 言归正传,执行 阅读全文
posted @ 2018-03-12 22:22 虚极静笃 阅读(9628) 评论(0) 推荐(0) 编辑
摘要:补充: 用户登录: http协议是在网络上是明文传输,如果数据包被截取到了,那么别人就会得到明文密码。 第一次MD5是防止用户的明文密码在网络上传输 第二次MD5是防止数据库泄露以后密码被反查出 GlobalException: GlobalExceptionHandler: 然后service层需 阅读全文
posted @ 2018-03-12 20:09 虚极静笃 阅读(2909) 评论(0) 推荐(0) 编辑
摘要:如何验证呢: 第一步,加上注解@Valid 第二步,在属性上加注解 自定义校验器: ValidatorUtil : IsMobileValidator: 阅读全文
posted @ 2018-03-12 18:38 虚极静笃 阅读(1722) 评论(0) 推荐(0) 编辑
摘要:查看系统支持的存储引擎:show engines; 查看表使用的引擎:show table status from db_name where name='table_name'; 修改表引擎方法: alter table table_name engine=innodb; mysql的引擎是Inn 阅读全文
posted @ 2018-03-12 15:58 虚极静笃 阅读(1553) 评论(0) 推荐(0) 编辑
摘要:1.集成Mybatis 第一步,添加依赖: 第二步:配置properties: 在这里我们测试了一下事务: UserService: UserDao: 2.安装redis: 下载Redis:https://redis.io/ redis的配置文件(vim进入的时候,输入/+关键字是从上往下搜索,?+ 阅读全文
posted @ 2018-03-12 15:10 虚极静笃 阅读(397) 评论(0) 推荐(0) 编辑
摘要:项目框架搭建: DemoController: CodeMsg: Result: MainApplication: hello.html: application.properties: 阅读全文
posted @ 2018-03-12 11:56 虚极静笃 阅读(696) 评论(0) 推荐(0) 编辑
摘要:memcatch相比redis而言,无法做持久化。 JSR303:服务端的验证框架。 首先我们可以将静态页面缓存在用户的浏览器端或者是手机端,然后用户的请求会到达CDN(网站的缓存和镜像),进一步到达网关(我们这里是nginx,在nginx上继续做缓存),再到我们的应用服务器(同样可以做缓存(red 阅读全文
posted @ 2018-03-12 10:33 虚极静笃 阅读(349) 评论(0) 推荐(0) 编辑
摘要:1)点击 VM->Settings Hardware选项卡下面 2)点击Network Adapter 设置如下图所示,首先我们在虚拟机中将网络配置设置成NAT 在服务中开启: VMware DHCP Service和VMware NAT Service 然后: 搞定。 阅读全文
posted @ 2018-03-09 08:59 虚极静笃 阅读(9212) 评论(0) 推荐(0) 编辑
摘要:如果这里没有这两个属性,返回的int值是影响的行数。如果加了这两个属性,会获取主键并赋值到keyProperty设置的领域模型属性中 ShippingMapper: 阅读全文
posted @ 2018-03-08 16:38 虚极静笃 阅读(1250) 评论(0) 推荐(0) 编辑
摘要:注意:new BigDecimal()的参数必须是String类型,否则还是会存在精度问题。 CartMapper: 阅读全文
posted @ 2018-03-08 14:17 虚极静笃 阅读(371) 评论(0) 推荐(0) 编辑
摘要:悲观并发控制(又名“悲观锁”,Pessimistic Concurrency Control,缩写“PCC”)是一种并发控制的方法。它可以阻止一个事务以影响其他用户的方式来修改数据。如果一个事务执行的操作都某行数据应用了锁,那只有当这个事务把锁释放,其他事务才能够执行与该锁冲突的操作。悲观并发控制主 阅读全文
posted @ 2018-03-07 10:50 虚极静笃 阅读(154) 评论(0) 推荐(0) 编辑
摘要:静态代码块优于普通代码块,普通代码块优于构造代码块。 每次new对象的时候都会执行构造代码块和普通代码块,而静态代码块仅仅在加载类的时候执行并且仅仅执行一次。 ProductMapper: mmall.properties: index.jsp(这里可以测试下): 然后需要在ftpuser下新建文件 阅读全文
posted @ 2018-03-03 22:42 虚极静笃 阅读(374) 评论(0) 推荐(0) 编辑
摘要:打开tomcat的server.xml文件: 找到该节点并增加URIEncoding="UTF-8" 然后重启项目即可。 阅读全文
posted @ 2018-03-03 17:11 虚极静笃 阅读(212) 评论(0) 推荐(0) 编辑
摘要:CategoryManageController: CategoryServiceImpl: Category(这里考虑到set去重,如果set的元素是非基本类型和String,需要以id重写equals和hashcode): CategoryMapper.xml: 阅读全文
posted @ 2018-03-03 11:41 虚极静笃 阅读(532) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示