• jvm 内存区域

    Java与C++之间有一堵由内存动态分配和垃圾收集技术所围成的“高墙”,墙外面的人想进去,墙里面的人却想出来。

    对于Java程序员来说,在虚拟机自动内存管理机制的帮助下,不再需要为每一个new操作去写配对的delete/free代码,不容易出现内存泄漏和内存溢出问题,由虚拟机管理内存这一切看起来都很美好。不过,也正是因为Java程序员把内存控制的权力交给了Java虚拟机,一旦出现内存泄漏和溢出方面的问题,如果不了解虚拟机是怎样使用内存的,那么排查错误将会成为一项异常艰难的工作。

  • jvm 垃圾收集与内存分配

    Java与C++之间有一堵由内存动态分配和垃圾收集技术所围成的“高墙”,墙外面的人想进去,墙里面的人却想出来。

    在Java内存运行时区域中,程序计数器、虚拟机栈、本地方法栈3个区域随线程而生,随线程而灭;栈中的栈帧随着方法的进入和退出而有条不紊地执行着出栈和入栈操作。每一个栈帧中分配多少内存基本上是在类结构确定下来时就已知的(尽管在运行期会由JIT编译器进行一些优化),因此这几个区域的内存分配和回收都具备确定性,在这几个区域内就不需要过多考虑回收的问题,因为方法结束或者线程结束时,内存自然就跟随着回收了。而Java堆和方法区则不一样,一个接口中的多个实现类需要的内存可能不一样,一个方法中的多个分支需要的内存也可能不一样,我们只有在程序处于运行期间时才能知道会创建哪些对象,这部分内存的分配和回收都是动态的,垃圾收集器所关注的是这部分内存。

  • 各类投资的常规收益率(美国数据)

    各类投资的常规收益率(美国数据) 类别 收益 银行存款 2.5% 1 年期国债 3% 5 年期国债 4% 10年期国债 5% 抵押公司债 6% 标普指数 7% 无抵押高收益公司债 8% 小盘股 2% 房地产 ...
  • http client 使用记录

    HttpClient

    使用版本: 4.5.5

    对象创建

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    RequestConfig requestConfig = RequestConfig.custom()
    // 从连接池中获取连接的超时时间
    .setConnectTimeout(connectTimeout)
    // 与服务器连接超时时间: httpclient 会创建一个异步线程用以创建 socket 连接,
    // 此处设置该 socket 的连接超时时间
    .setConnectionRequestTimeout(connectionRequestTimeout)
    // socket 读数据超时时间: 从服务器获取响应数据的超时时间
    .setSocketTimeout(socketTimeout)
    .build();
    CloseableHttpClient httpClient = HttpClients
    .custom()
    .setDefaultRequestConfig(requestConfig)
    // 连接池中最大连接数
    .setMaxConnTotal(weixinMediaDownloaderNumber)
    // 分配给同一个 route (路由)最大的并发连接数
    .setMaxConnPerRoute(weixinMediaDownloaderNumber)
    .build();
  • Java 设置代理

    Java 设置代理Java 启动参数设置12-Dhttp.proxyHost=127.0.0.1-Dhttp.proxyPort=1080 HttpClient 设置123456789HttpHost proxy = new HttpHost(&q...
  • SpringBoot 学习记录

    mvn 启动1mvn spring-boot:run -Dspring-boot.run.profiles=xxx Log4j2 idea 彩色日志配置1234<PatternLayout disableAnsi="false&...
  • VIM 使用记录

    VIM 使用记录操作篇翻页向上翻整页: ctrl-b (backward) 向下翻整页: ctrl-f (forword ) 向上翻半页: ctlr-u (up) 向下翻半页: ctlr-d (down) 向上滚一行: ctrl-y 向下滚一行: c...
  • nginx 学习笔记

    常见问题配置 proxy_pass 代理转发时的绝对路径与相对路径在 nginx 中配置 proxy_pass 代理转发时,如果在 proxy_pass 后面的 url 加/,表示绝对根路径;如果没有/,表示相对路径,把匹配的路径...
  • nodejs

    npm 设置代理12npm config set https_proxy=http:127.0.0.1:1080npm config set http_proxy=http:127.0.0.1:1080 npm 删除代理12npm config ...
  • Git 学习笔记

    设置邮箱和用户名123456# 为某个项目设置git config user.email "mail address"git config user.name "user name"# 全局设置git conf...