`
文章列表
 Person 类代码如下 public class Person { private int age; private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public ...

线程公有

线程公有的区域主要包含Java堆内存,方法区,运行常量池   Java堆是被所有线程共享的一块内存区域,在虚拟机启动的时候创建。此内存区域的唯一目的就是存放对象实例。 Java虚拟机规范描述:所有的对象实力以及数组都要在堆上进行分配。   方法区与Java堆一样,是各个线程共享的内存区域,它用于储存已被虚拟机加载的类信息,常量,静态变量,即时编译器编译后的代码等数据。   运行时常量池是方法区的一部分,Class文件除了有类的版本,字段,方法,接口等描述信息外,还有一个就是常量池。 用于存放编译器生成的各种字常量和符号引用,这部分内容将在类加载后进入方法区的运行时常量池中存放 ...

线程私有

线程安全的策略 如果当多个线程访问同一个可变的状态变量时没有使用合适的同步,那么程序就会出现错误,有三种方式可以修复这个问题。 1.不在线程之间共享该状态变量(虚拟机栈和Threadlocal) 2.将状态变量修改为不可变的变量 3.在访问状态变量时使用同步 程序计数器 由于线程具有时分的特点,所以需要一个东西来记录当前线程被切换前运行到了哪里?这就是程序计数器,等待切换回来的时候,继续原来的程序。 虚拟机栈 如果多线程访问单例对象时,其类变量和成员变量都可能受到多线程影响产生不可预期的结果。 虚拟机栈是线程私有的,生命周期与线程相同。 每个方法执行的同时都会创 ...

Objects

    博客分类:
  • java
  /** @since 1.7 */ public final class Objects { ...... } 1.7出现的工具类,final修饰类不可继承,这个类断子绝孙了。 private Objects() { throw new AssertionError("No java.util.Objects instances for you!"); }  构造器私有,该类不能创建对象。 public static boolean equals(Object a, Object b) { retu ...
废话不多说,直接上遇见的坑。   尽管可以增加新的类型到索引中,或者增加新的字段到类型中,但是不能添加新的分析器或者对现有的字段做改动。 如果你那么做的话,结果就是那些已经被索引的数据就不正确, 搜索也不能正常工作。对现有数据的这类改变最简单的办法就是重新索引:用新的设置创建新的索引并把文档从旧的索引复制到新的索引。字段 _source 的一个优点是在Elasticsearch中已经有整个文档。你不必从源数据中重建索引,而且那样通常比较慢。为了有效的重新索引所有在旧的索引中的文档,用 scroll 从旧的索引检索批量文档 , 然后用 bulk API 把文档推送到新的索引中。   链接 ...
在pom中添加依赖   <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency>   然后发现只有/health可以调用,其他信息都不可见。   在yml中加入,可以看一切信息了。 management: security: ...
官方链接:http://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#howto-create-a-deployable-war-file   公司开发使用了Springboot,但是为什么我们还会打成war包呢,因为我们公司的运维做了钩子,只要有代码往master上合并,它会自动部署到对应tomcat下面,所以我们公司都用war包部署项目,而且tomcat是一个很完整的servlet容器。   关于打war包让我们看看官网怎么说的 The first step in producing a deploy ...

spring-mybatis文件

编写mybatis-config.xml   <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <settings> <s ...
代码来自Spring in action  165页 在pojo上加入注解,个人认为这样编写工作量相当大,而且对代码侵入比较高。   public class Spitter { private Long id; @NotNull @Size(min=5, max=16) private String username; @NotNull @Size(min=5, max=25) private String password; @NotNull @Size(min=2, max=30) private ...
在web.xml中编写一下代码     <filter> <filter-name>encoding</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param- ...
对于jsp页面和静态资源文件不进行安全控制,则用户访问项根目录的时候,所有的数据都会呈现出列表的形式。所以需要将文件放到WEB-INF文件夹下,此时用户就无法访问,但是放到WEB-INF会太安全。外部无法访问,所以在Springmvc中支持映射,此处使用了视图解析器。   <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/pa ...

springmvc拦截器

拦截器源代码如下 public interface HandlerInterceptor { boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception; void postHandle( HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws ...
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xmlns:context=&qu ...
1、Spring 框架解决字符串编码问题:过滤器 CharacterEncodingFilter(filter-name) 2、在web.xml配置监听器ContextLoaderListener(listener-class) ContextLoaderListener的作用就是启动Web容器时,自动装配ApplicationContext的配置信息。因为它实现了Serv ...

java算法面试题

请写出java代码,实现一下方法,计算对于数字100,共有多少种组合方法。 (假设组合时可以使用的数字包括100,50,20,10,5,2,1),比如如果M为1,共有1中组合方法,即1*1个; 如果M为2,则共有2种组合方式,2*1个 和1*2个; 求出返回组合方法的个数。 package org.son; public class Mytest { private static int count; public static void main(String args[]) { int max = 10; int[] cents = { 100, 50, ...
Global site tag (gtag.js) - Google Analytics