Framework7知识集锦
常见问题
注意点
- 从页面A导航到B,导航后,A的DOM保留;回退后,B的DOM默认移除
- 页面回调、事件中均可以访问页面数据,这意味着页面已经解析完毕,如果使用Template7模板,此时模板已经转换为目标HTML。因此尝试在页面回调、事件中为Template7模…
8 years ago
0
1
Tomcat知识集锦
常见问题
零散问题
One or more listeners failed to start
报错信息:
Artifact pems-web-manager:war exploded: Error during artifact deployment. See …
阅读全文
10 years ago
0
ActiveMQ知识集锦
常见问题
Setting clientID on a used Connection is not allowed
与Spring DMLC集成,进行持久化订阅时,会报此错误,报错的根源是:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
@Override public void setClientID(String newClientID) throws JMSException { checkClosedOrFailed(); // false if (this.clientIDSet) { throw new IllegalStateException("The clientID has already been set"); } // true if (this.isConnectionInfoSentToBroker) { // 不允许在“已经使用”的连接上执行设置clientID的操作 throw new IllegalStateException("Setting clientID on a used Connection is not allowed"); } this.info.setClientId(newClientID); this.userSpecifiedClientID = true; ensureConnectionInfoSent(); } |
可以看到,状态isConnectionInfoSentToBroker变为true后,就不能再设置ClientID,修改此字段值的,只…
阅读全文
10 years ago
0
1
PHP知识集锦
性能优化
非代码级优化
通用内核参数调优
参考Linux知识集锦。
调整连接数
1 2 |
; 根据QPS调整 listen.backlog = 65536 |
相应的调整内核参数: sysctl net.core.somaxconn=65536
启用Zend Opcache
启用HugePage
Linux的HugePage可以让PHP的TEXT段、内存分页都以巨页的方式存储,减少TLB相关的性能损耗。
先设置内核参数:
然后配置:
使用新版编译器
GCC 4.8以上编译器能够提升5%的性能,原因是开启Global Register对opline/execute_d…
阅读全文
10 years ago
0
CentOS知识集锦
常用命令
软件包管理命令
dnf
dnf是yum的下一个重大版本,基于RPM的Linux的包管理器。dnf保证了和yum的CLI接口的大概兼容性。
命令 | 作用 | ||
check-update | 检查可更新的软件包 | ||
upgrade |
更新软件包
|
||
install | 安装指定软件包
|
||
reinstall | 重新安装指定软件包 | ||
remove | 删除指定软件包 | ||
search | 以关键词搜索软件包 | ||
info | 查看软件包详情 | ||
repoquery |
查看软件包… |
11 years ago
0
SpringMVC知识集锦
基于仿冒的SpringMVC测试用例示意
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 |
package cc.gmem.demo.ctrl; import static org.junit.Assert.*; import javax.inject.Inject; import net.greenmemory.commons.lang.StringUtils; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.slf4j.LoggerFactory; import org.springframework.mock.web.MockHttpServletRequest; import org.springframework.mock.web.MockHttpServletResponse; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import org.springframework.test.context.transaction.TransactionConfiguration; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter; import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping; import com.fasterxml.jackson.databind.ObjectMapper; @RunWith ( SpringJUnit4ClassRunner.class ) @ContextConfiguration ( locations = { "/spring-classgen-disabled.xml", "/spring-mvc.xml" } ) @TransactionConfiguration ( transactionManager = "txManager", defaultRollback = true ) public class SpringMVCControllerTest { private static final org.slf4j.Logger LOGGER = LoggerFactory.getLogger( SpringMVCControllerTest.class ); @Inject private RequestMappingHandlerAdapter handlerAdapter; @Inject private RequestMappingHandlerMapping handlerMapping; @Inject private SessionFactory sf; @Inject private ObjectMapper om; private MockHttpServletRequest request; private MockHttpServletResponse response; @Before @Transactional public void setUp() { request = new MockHttpServletRequest(); response = new MockHttpServletResponse(); Session sess = sf.getCurrentSession(); } @Test @Transactional public void testController() throws Exception { request.setRequestURI( "/uri/" ); //设置请求的URI Object handler = handlerMapping.getHandler( request ).getHandler(); //获取Handler对象(就是控制器类) handlerAdapter.handle( request, response, handler ); //转发给Handler处理,并获取响应 String contentType = response.getContentType(); String json = response.getContentAsString(); assertTrue( StringUtils.containsIgnoreCase( contentType, "json" ) ); assertTrue( StringUtils.containsIgnoreCase( contentType, "utf-8" ) ); } } |
常用问题
强制产生JSON格式的结果
配置 @RequestMapping( produces = "application/json" )
SpringMVC 设置 /* 过滤全部,导致JSP无法显示的问题
找不到控制器类的问题:No mapping found for HTTP request with URI
- 注意URL拦截的前置部分,如/admin,不要再控制器的映射路径中体现,例如地址/admin/user在控制器中直接配: /user
使用…
12 years ago
0
Hibernate知识集锦
重要概念
get和load
在Hibernate 3.6.x中:
get会返回实际的对象实例,如果不存在则返回null,session.get(Superclass.class,id)与session.get(Concreteclass,id)的返回值完全一致。…
阅读全文
12 years ago
0
Ubuntu知识集锦
基本知识
名词术语
- PPA:Personal Package Archives,可以上传source,作为apt存储库
- APT:Advanced Packaging Tool,Debian GNU/Linux distribution及其变体上进行软件安装/更新/删除的工具,它简化了类linux系统的软件管理,可以进行二进制的安装或者源码编译的安装。最初是设计为pdkg的前…
13 years ago
0
Android知识集锦
零散知识
基本概念
术语 | 说明 |
smali |
可以指:
dex字节码无法阅读,smali… |
13 years ago
0