一.Java内存溢出的产生缘由和解决办法?java
java.lang.OutOfMemoryError这个错误我相信大部分开发人员都有遇到过,产生该错误的缘由大都出于如下缘由:JVM内存太小、程序不严密,产生了过多的垃圾。web
致使OutOfMemoryError异常的常见缘由有如下几种:数据库
此错误常见的错误提示:bootstrap
解决java.lang.OutOfMemoryError的方法有以下几种:浏览器
《一》增长jvm的内存大小。方法有: 1)在执行某个class文件时候,可使用java -Xmx256M aa.class来设置运行aa.class时jvm所容许占用的最大内存为256M。 2)对tomcat容器,能够在启动时对jvm设置内存限度。对tomcat,能够在catalina.bat中添加:缓存
set CATALINA_OPTS=-Xms128M -Xmx256M set JAVA_OPTS=-Xms128M -Xmx256M
或者把%CATALINA_OPTS%和%JAVA_OPTS%代替为-Xms128M -Xmx256Mtomcat
3)对resin容器,一样能够在启动时对jvm设置内存限度。在bin文件夹下建立一个startup.bat文件,内容以下:框架
@echo off call "httpd.exe" "-Xms128M" "-Xmx256M" :end
其中"-Xms128M"为最小内存,"-Xmx256M"为最大内存。jvm
《二》、 优化程序,释放垃圾。优化
主要包括避免死循环,应该及时释放种资源:内存, 数据库的各类链接,防止一次载入太多的数据。致使java.lang.OutOfMemoryError的根本缘由是程序不健壮。所以,从根本上解决Java内存溢出的惟一方法就是修改程序,及时地释放没用的对象,释放内存空间。 遇到该错误的时候要仔细检查程序,嘿嘿,遇多一次这种问题以后,之后写程序就会当心多了。
须要重点排查如下几点:
二,使用Redis作缓存的好处?
针对那些用户信息基本固定,一旦录入不多变更,那么你每次加载全部用户信息时,若是都要请求数据库,数据库编译并执行你的查询语句,这样效率就会低下不少,针对这种信息不常常变更而且数据量较大的状况,一般作法,就是把他加入缓存,每次取数前先去判断,若是缓存不为空,那么就从缓存取值,若是为空,再去请求数据库,并将数据加入缓存,这样大大提升系统访问效率
三。bootstrap 的网格的使用?
bootstrap框架中的网格系统就是将容器平分红12份,在使用的时候能够根据实际状况从新编译LESS/SASS源码来修改12这个数值
bootstrap框架的网格系统工做原理:
一、数据行(.row)必须包含在容器(.container)中,以便其赋予合适的对齐方式和内距(padding)
<div class="container"> <div class="row"></div> </div>
二、在行(.row)中能够添加列(.column),但列数之和不能超过平分的总列数(如:12)
<div class="container"> <div class="row"> <div class="col-md-4"></div> <div class="col-md-8"></div> </div> </div>
三、具体内容应当放在列容器(.column)以内,并且只有列(.column)才能够做为行容器(.row)的直接子元素
四、经过设置内距(padding)从而建立列与列之间的间距,而后经过为第一列和最后一叠设置负值的外距(margin)来抵消内距(padding)的影响
在bootstrap网格系统中带有响应式效果,其带有四种类型的浏览器,(超小屏,小屏,中屏和大屏),其断点是768px,992px,1220px
容器(.container),针对不一样的浏览器分辨率,其宽度也不同:自动,760px,970px,1170px;
.container { padding-right: 15px; padding-left: 15px; margin-right: auto; margin-left: auto; @media (min-width: 768px) { .container { width: 750px; } @media (min-width: 992px) { .container { width: 970px; } @media (min-width: 1200px) { .container { width: 1170px; }
容器(.row),将容器的行平分了12等份,也就是列。每一个列都有个padding-left:15px和padding-right:15px;这样也致使了第一列的padding-left和最后一列的paading-right占据了中宽度的30px
.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 { position: relative; min-height: 1px; padding-right: 15px; padding-left: 15px; }
行容器(.row)定义了margin-left和margin-right值为-15px,用来抵消第一列的左内距和最后一列的右内距,这样第一列和最后一列与容器(.container)之间就没有间距了
.row { margin-right: -15px; margin-left: -15px; }
基本用法
因为bootstrap框架在不一样屏幕尺寸使用了不一样的网格样式,下面就以中屏(970px)为例。
一、列组合
列组合就是更改数字来合并列(列总数不能超过12),有点相似于表格的colspan属性;列组合方式只涉及两个特性:浮动于宽度百分比
<div class="container"> <div class="row"> <div class="col-md-4">col-md-4</div> <div class="col-md-8">col-md-8</div> </div> <div class="row"> <div class="col-md-4">col-md-4</div> <div class="col-md-4">col-md-4</div> <div class="col-md-4">col-md-4</div> </div> <div class="row"> <div class="col-md-3">col-md-3</div> <div class="col-md-6">col-md-6</div> <div class="col-md-3">col-md-3</div> </div> </div>
效果以下: