- 浏览: 391706 次
- 性别:
- 来自: 上海
-
最新评论
文章列表
1. 在Eclipse 中修改项目名
没错这种方法跟你预料的一样简单,当项目已经导入到 Eclipse 之后,只需要做两个事情
1.1 改项目文件夹名称
选中项目,按 F12 ,改名。
多数人改项目名只做了这一步,但是后面发现并没有起到真正 ...
方法一:如果曾经的数据都不需要的话,可以直接清空所有数据,并将自增字段恢复从1开始计数
truncate table 表名
方法二:
dbcccheckident ('table_name', reseed, new_reseed_value)
当前值设置为new_reseed_value。如果自创建表后没有将行插入该表,则在执行DBCC CHECKIDENT后插入的第一行将使用 new_reseed_value作为标识。否则,下一个插入的行将使用 new_reseed_value + 1。如果 new_reseed_value的值小于标识列中的最大值,以后引用该表时将产生26 ...
不重启Tomcat有两种方式:热部署、热加载。
热部署:容器在运行时重新部署整个项目。
这类环境下,一般整个内存会被清空,重新加载。这类方式有可能造成sessin丢失等问题。tomcat 6以上已解决该问题。
热加载:最好是在调试过程中使用,以免整个项目加载。Debug模式支持热加载。
容器在运行时重新加载编译后的类。在这类环境下,内存不会被清空,sessin不会丢失,但容易造成内存溢出,或者找不到方法。一般转变类的布局和模型就会有异常,在已经有的变量和方法中转变是不会出问题的。
热加载配置如下:在tomcat的server.xml中,
在实际项目中,每次修改完ftl文件,都要重新启动tomcat才可以看到所修改的内容。
一般来讲,模版文件改动不会很频繁,在一个流量非常大的网站中,如果频繁的读取模版文件会对系统造成极大负担,因此 FreeMarker 通过将模版文件的内容进行缓存,来降低模版文件读取的频次,降低系统的负载。
当处理某个模版时,FreeMarker 直接从缓存中返回对应的 Template 对象,并有一个默认的机制来保证该模版对象是跟模版文件同步的。freemarker.properties中,template_update_delay 用来指定更新模版文件的间隔时间,相当于多长时间检测一下是否 ...
本文介绍如何从GitHub上获取spring源码,并且使用Gradle的构建来构建项目。
1.安装GitHub
去GitHub官网上下载GitHub,windows系统的对应下载地址是:http://windows.github.com/,下载后双击安装。
2.安装Gradle
从http://www.gradle.org/downloads下载Gradle。下载后将文件解压到指定目录中,例如:D:\gradle-2.7,然后配置环境变量。 1)根据对应目录创建GRADLE_HOME系统变量,我这里的值为D:\gradle-2.7。 2)将%GRADLE_HOME%\bi ...
服务器架构
业务从发展的初期到逐渐成熟,服务器架构也是从相对单一到集群,再到分布式服务。 一个可以支持高并发的服务少不了好的服务器架构,需要有均衡负载,数据库需要主从集群,nosql缓存需要主从集群,静态文件需要上传cdn,这些都是能让业务程序流畅运行的强大后盾。
大致需要用到的服务器架构如下:
服务器
均衡负载(如:nginx,阿里云SLB)
资源监控
分布式
数据库
主从分离,集群
DBA 表优化,索引优化,等
在spring中,事务配置可以用注解的方式@Transactional,但是要想要真正发挥事务作用,还需要在配置文件中加如下配置:
<bean
id="transactionManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager"
...
Tomcat 日志分为5类 :
catalina Cataline引擎的日志文件,文件名catalina.日期.log;
localhost Tomcat下内部代码丢出的日志,文件名localhost.日期.log(jsp页面内部错误的异常,org.apache.jasper.runtime.HttpJspBase.service类丢出的,日志信息就在该文件!);
manager Tomcat下默认manager应用日志,文件名manager.日期.log;
admin
host-manager
对应在logging.properties文件中
1cata ...
1. 登录Linux,切换到root用户
su root 获取root用户权限,当前工作目录不变(需要root密码)或sudo -i 不需要root密码直接切换成root(需要当前用户密码)
2. 在usr目录下建立java安装目录
cd /usrmkdir java
3.将jdk-8u60-linux-x64.tar.gz拷贝到jav ...
在生产环境中tomcat内存设置不好,很容易出现内存溢出。造成内存溢出的原因不一样,处理方式也不一样。
常见的一般会有下面三种情况:
1.OutOfMemoryError: Java heap space
2.OutOfMemoryError: PermGen space
3.OutOfMemoryError: unable to create new native thread.
对于前两种情况,在应用本身没有内存泄露的情况下可以用设置tomcat jvm 参数来解决。(-Xms -Xmx -XX:PermSize -XX:MaxPermSize)
最后一种可能需要调整操作系统 ...
APP端接口在影像上传时,直接返回500。但其他接口都是正常的,只有在上传影像的时候,才会500。而且在本地调试也都是正常的。起初怀疑是网络问题,是否是运维将这个请求禁掉了。在排除掉这种可能性之后,发现是测试服务端的磁盘满了。
使用命令df -hl查看系统磁盘占用率
[root@usr /]# df -hl
Filesystem Size Used Avail Use% Mounted on/dev/xvda1 20G 20G 0 100% /tmpfs 1.9G 0 1.9G 0% /dev/shm/dev/xvdb1 2 ...
案例1:
> 1. 用在应用服务器的日志记录,查找起来比文本灵活,导出也很方便。> 2. 用在一些第三方信息的获取或者抓取,因为MongoDB的schema-less,所有格式灵活,不用为了各种格式不一样的信息专门设计统一的格式,极大得减少开发的工作。
案例2> 主要用来存储一些监控数据,No schema 对开发人员来说,真的很方便,增加字段不用改表结构,而且学习成本极低。
案例3> 使用MongoDB做了O2O快递应用,将送快递骑手、快递商家的信息(包含位置信息)存储在 MongoDB,然后通过 MongoDB 的地理位置查询,这样很方便的实现了查找附近的商 ...
想要做到:一行命令直接部署到服务器。
首先要在Maven(POM.XML)中引入这个插件:
<build>
<plugins>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
...
浏览器发起请求,Web服务器会开一个线程处理,该线程会等待处理结果,自身处于阻塞状态,处理完把处理结果返回浏览器。但是,因为请求处理线程的总数是有限的,如果类似的请求多了,所有的处理线程处于阻塞的状态,那新的请求也就无法处理了,也就所谓影响了服务器的吞吐能力。要更加好地发挥服务器的全部性能,就要使用异步。
异步请求最大的不同在于请求处理线程调用了之后直接返回,而不等待,这样请求处理线程就“自由”了,它可以接着去处理别的请求,当后端处理完成后,会钩起一个回调处理线程来处理调用的结果,这个回调处理线程跟请求处理线程也许都是线程池中的某个线程,相互间可以完全没有关系,由这个回调处理线程向浏览器返 ...
java.util.concurrent中主要包括三类工具,Executor Freamework,并发集合(Concurrent Collection),以及同步器(Synchronizer)。
Future接口表示异步计算的结果。计算完成后只能使用 get 方法来获取结果,如有必要,计算完成前可以阻塞此方法。取消则由 cancel 方法来执行。还提供了其他方法,以确定任务是正常完成还是被取消了。一旦计算完成,就不能再取消计算。如果为了可取消性而使用 Future 但又不提供可用的结果,则可以声明 Future<?> 形式类型、并返回 null 作为底层任务的结果。
...