<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[three_stand的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/three_stand</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; three_stand]]></copyright><item><title><![CDATA[mongo]]></title><link>https://blog.youkuaiyun.com/three_stand/article/details/133701620</link><guid>https://blog.youkuaiyun.com/three_stand/article/details/133701620</guid><author>three_stand</author><pubDate>Mon, 09 Oct 2023 14:33:16 +0800</pubDate><description><![CDATA[查询聚合$match: {},$group: {_id: null,},},},_id: 0},},])]]></description><category></category></item><item><title><![CDATA[docker 开发环境搭建]]></title><link>https://blog.youkuaiyun.com/three_stand/article/details/125633585</link><guid>https://blog.youkuaiyun.com/three_stand/article/details/125633585</guid><author>three_stand</author><pubDate>Wed, 06 Jul 2022 10:03:18 +0800</pubDate><description><![CDATA[服务搭建1.redis 2.mysql 3.ribbitmq 4.mongodb 5. mongo-express 6.portainer注意初始脚本必须重新构建的时候才生效需要1.删除已有镜像 2.删除data目录


config：软件配置目录init：软件初始目录data：软件数据目录logs:软件日志目录mysql初始脚本：创建初始用户（非root）并授权


mongo初始脚本：......]]></description><category></category></item><item><title><![CDATA[Jvm 内存模型]]></title><link>https://blog.youkuaiyun.com/three_stand/article/details/122543232</link><guid>https://blog.youkuaiyun.com/three_stand/article/details/122543232</guid><author>three_stand</author><pubDate>Mon, 17 Jan 2022 17:13:26 +0800</pubDate><description><![CDATA[一、内存模型

内存是非常重要的系统资源,是硬盘和CPU的中间仓库及桥梁,承载着操作系统和应用程序的实时运行。JWM内存布局规定了Java在运行过程中内存申请、分配、管理的策略,保证了JM的高效稳定运行。不同的JM对于内存的划分方式和管理机制存在着部分差异。



程序计数器

它是一块很小的内存空间,几乎可以忽略不记。也是运行速度最快的存储区域。
	在JVM规范中,每个线程都有它自己的程序计数器,是线程私有的,生命周期与线程的生命周期保持一致。
	任何时间一个线程都只有一个方法在执行,也就是所谓的当前方.]]></description><category></category></item><item><title><![CDATA[备忘小知识点]]></title><link>https://blog.youkuaiyun.com/three_stand/article/details/119638110</link><guid>https://blog.youkuaiyun.com/three_stand/article/details/119638110</guid><author>three_stand</author><pubDate>Thu, 12 Aug 2021 10:54:27 +0800</pubDate><description><![CDATA[ThreadLocalRandom.current() 多线程随机数 比random效率高 random内部是同步的有锁机制
]]></description><category></category></item><item><title><![CDATA[vertx]]></title><link>https://blog.youkuaiyun.com/three_stand/article/details/116170828</link><guid>https://blog.youkuaiyun.com/three_stand/article/details/116170828</guid><author>three_stand</author><pubDate>Wed, 28 Apr 2021 21:38:38 +0800</pubDate><description><![CDATA[vert.x是reactive(响应式编程), 是一种思想, 特点: 事件驱动(发挥单台机器的性能):单台机器上, 用少量线程处理大量并发 异步处理请求(多个服务间通信阻塞较少, 响应时间降低):


https://vertx.io/ 官网
基于netty的、运行在jvm之上的、支持多种编程语言的高性能异步、非阻塞、响应式全栈java web框架
eclipse软件基金会顶级java开源项目之一
在techempower.com网站多项性能测试中占据java语言榜首
https://www.techemp]]></description><category></category></item><item><title><![CDATA[http]]></title><link>https://blog.youkuaiyun.com/three_stand/article/details/115973909</link><guid>https://blog.youkuaiyun.com/three_stand/article/details/115973909</guid><author>three_stand</author><pubDate>Wed, 21 Apr 2021 19:31:22 +0800</pubDate><description><![CDATA[学习以下注解
@RequestHeader, @CookieValue;
@RequestParam, @RequestBody;
@SessionAttributes, @ModelAttribute;
]]></description><category></category></item><item><title><![CDATA[nginx]]></title><link>https://blog.youkuaiyun.com/three_stand/article/details/115619999</link><guid>https://blog.youkuaiyun.com/three_stand/article/details/115619999</guid><author>three_stand</author><pubDate>Mon, 12 Apr 2021 14:04:44 +0800</pubDate><description><![CDATA[常用命令
nginx 启动
nginx -s stop 停止
nginx -s reload 重新加载

nginx.conf配置文件



#user  nobody;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
    worker]]></description><category></category></item><item><title><![CDATA[windows快捷键]]></title><link>https://blog.youkuaiyun.com/three_stand/article/details/115368337</link><guid>https://blog.youkuaiyun.com/three_stand/article/details/115368337</guid><author>three_stand</author><pubDate>Thu, 01 Apr 2021 10:29:31 +0800</pubDate><description><![CDATA[window
control
notepad
cmd
文件路径敲cmd，直接进入该路径
选中文件F2重命名
选中文件ctrl+d删除
win+q搜索
win+d桌面
win+e文件系统
win+tab任务窗口
win+i win10 设置
win+x快捷菜单
win+1/2/3切换任务窗口的123
alt+F4 关闭程序/关机
...]]></description><category></category></item><item><title><![CDATA[docker 命令]]></title><link>https://blog.youkuaiyun.com/three_stand/article/details/115360806</link><guid>https://blog.youkuaiyun.com/three_stand/article/details/115360806</guid><author>three_stand</author><pubDate>Wed, 31 Mar 2021 21:02:11 +0800</pubDate><description><![CDATA[docker search -f stars=1000 mysql 仓库查找mysql 热度大于1000
docker search --limit 10 mysql 仓库查找mysql 前10个
docker pull mysql 拉去mysql
docker images 查看镜像
docker inspect 镜像id 查看镜像信息
docker top 容器id 查看进程信息
docker rmi -f ${docker images -qa} 删除所有
docker run -itd --na..]]></description><category></category></item><item><title><![CDATA[java retry 详解]]></title><link>https://blog.youkuaiyun.com/three_stand/article/details/113249250</link><guid>https://blog.youkuaiyun.com/three_stand/article/details/113249250</guid><author>three_stand</author><pubDate>Wed, 27 Jan 2021 15:18:56 +0800</pubDate><description><![CDATA[retry就是一个标记，标记对一个循环方法的操作（continue和break）处理点，通俗说执行retry下的第一for循环的continue或break


public class Test1 {
    public static void main(String[] args) {

        for (int i = 0; i &lt;3 ; i++) {
            for (int j = 0; j &lt;10 ; j++) {
                Syst.]]></description><category></category></item><item><title><![CDATA[spring 循环依赖]]></title><link>https://blog.youkuaiyun.com/three_stand/article/details/111994127</link><guid>https://blog.youkuaiyun.com/three_stand/article/details/111994127</guid><author>three_stand</author><pubDate>Wed, 30 Dec 2020 16:56:06 +0800</pubDate><description><![CDATA[https://www.jianshu.com/p/8bb67ca11831

https://www.cnblogs.com/zzq6032010/p/11406405.html

https://www.pianshen.com/article/4112200143/

https://www.imooc.com/article/34150
]]></description><category></category></item><item><title><![CDATA[ThreadLocal详解]]></title><link>https://blog.youkuaiyun.com/three_stand/article/details/110870773</link><guid>https://blog.youkuaiyun.com/three_stand/article/details/110870773</guid><author>three_stand</author><pubDate>Tue, 08 Dec 2020 13:02:47 +0800</pubDate><description><![CDATA[在默认情况下，每个线程中的这两个变量都为null：



只有当线程第一次调用ThreadLocal的set方法或get方法时才会创建它们。


   public void set(T value) {
        Thread t = Thread.currentThread();
        ThreadLocalMap map = getMap(t);
        if (map != null)
            map.set(this, value);
   ...]]></description><category></category></item><item><title><![CDATA[post  兼容application/x-www-form-urlencoded；charset=UTF-8 和json]]></title><link>https://blog.youkuaiyun.com/three_stand/article/details/109823198</link><guid>https://blog.youkuaiyun.com/three_stand/article/details/109823198</guid><author>three_stand</author><pubDate>Thu, 19 Nov 2020 19:48:57 +0800</pubDate><description><![CDATA[@RequestParam，也有@RequestBody 不能同时使用可以使用HttpServletRequest 接收，


   public Map&lt;String, Object&gt; commonHttpRequestParamConvert(HttpServletRequest httpServletRequest) {
        Map&lt;String, Object&gt; result = new HashMap&lt;&gt;(16);
        try {
  .]]></description><category></category></item><item><title><![CDATA[forkJoin使用]]></title><link>https://blog.youkuaiyun.com/three_stand/article/details/109517640</link><guid>https://blog.youkuaiyun.com/three_stand/article/details/109517640</guid><author>three_stand</author><pubDate>Thu, 05 Nov 2020 18:15:28 +0800</pubDate><description><![CDATA[先贴一段可以使用的代码，有时间在研究吧


package com.bjsdzk;

import java.util.concurrent.ForkJoinPool;
import java.util.concurrent.Future;
import java.util.concurrent.RecursiveTask;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;


public class ForkJoinTaskExampl.]]></description><category></category></item><item><title><![CDATA[面试被问过的问题]]></title><link>https://blog.youkuaiyun.com/three_stand/article/details/109067107</link><guid>https://blog.youkuaiyun.com/three_stand/article/details/109067107</guid><author>three_stand</author><pubDate>Wed, 14 Oct 2020 10:20:48 +0800</pubDate><description><![CDATA[volatile

每个线程有本地内存和共享主内存，线程间通讯需要靠主内存变量通讯

原子性：对变量的写操作不依赖于当前值线程安全的，如果依赖当前值i++那么是线程不安全的，
	可见性：如果一个线程修改了变量，其他线程获取是最新的
	有序性：内存模型允许编译器对指令重排序，如果两个操作访问同一个变量，且这两个操作有一个为写操作，此时这两个操作就存在数据依赖性,禁止重排序
ThreadLocal

ThreadLocal为变量在每个线程中都创建了一个副本，那么每个线程可以访问自己内部的副本变量。
内存泄漏
.]]></description><category></category></item><item><title><![CDATA[jvm深入理解]]></title><link>https://blog.youkuaiyun.com/three_stand/article/details/109050328</link><guid>https://blog.youkuaiyun.com/three_stand/article/details/109050328</guid><author>three_stand</author><pubDate>Tue, 13 Oct 2020 14:26:31 +0800</pubDate><description><![CDATA[Java运行时数据区

Java虚拟机在执行Java程序的过程中会将其管理的内存划分为若干个不同的数据区域，这些区域有各自的用途、创建和销毁的时间，有些区域随虚拟机进程的启动而存在，有些区域则是依赖用户线程的启动和结束来建立和销毁。

Java虚拟机所管理的内存包括以下几个运行时数据区域，如图：



1、程序计数器：指向当前线程正在执行的字节码指令。线程私有的。

2、虚拟机栈：虚拟机栈是Java执行方法的内存模型。每个方法被执行的时候，都会创建一个栈帧，把栈帧压人栈，当方法正常返回或者抛出未捕获的异常时]]></description><category></category></item><item><title><![CDATA[java 反射]]></title><link>https://blog.youkuaiyun.com/three_stand/article/details/108999104</link><guid>https://blog.youkuaiyun.com/three_stand/article/details/108999104</guid><author>three_stand</author><pubDate>Sat, 10 Oct 2020 16:15:53 +0800</pubDate><description><![CDATA[1.反射

简介

反射就是在运行状态能够动态的获取该类的属性和方法，并且能够任意的使用该类的属性和方法，这种动态获取类信息以及动态的调用对象的方法的功能就是反射。

优点：

反射提高了程序的灵活性和扩展性。
	降低耦合性，提高自适应能力。
	它允许程序创建和控制任何类的对象，无需提前硬编码目标类。
缺点：

性能问题：使用反射基本上是一种解释操作，用于字段和方法接入时要远慢于直接代码。因此反射机制主要应用在对灵活性和拓展性要求很高的系统框架上，普通程序不建议使用。
	使用反射会模糊程序内部逻辑；程序员.]]></description><category></category></item><item><title><![CDATA[redis rdb和aof]]></title><link>https://blog.youkuaiyun.com/three_stand/article/details/108997498</link><guid>https://blog.youkuaiyun.com/three_stand/article/details/108997498</guid><author>three_stand</author><pubDate>Sat, 10 Oct 2020 15:13:13 +0800</pubDate><description><![CDATA[1.redis两种持久化的方式

RDB持久化机制：对redis中的数据执行周期性的持久化AOF持久化机制：对每条写入命令作为日志，以append-only的模式写入一个日志文件中，在redis重启时，可通过回放AOF日志中的写入指令来重新构建整个数据集

RDB的优点:

RDB文件是紧凑的二进制文件，比较适合做冷备，全量复制的场景
	相对于AOF持久化机制来说，直接基于RDB数据文件来重启和恢复Redis进程，更加快速；
	RDB对Redis对外提供的读写服务，影响非常小，可以让Redis保持高性能，因]]></description><category></category></item><item><title><![CDATA[强引用、软引用、弱引用、虚引用 面试题]]></title><link>https://blog.youkuaiyun.com/three_stand/article/details/108880843</link><guid>https://blog.youkuaiyun.com/three_stand/article/details/108880843</guid><author>three_stand</author><pubDate>Wed, 30 Sep 2020 11:25:55 +0800</pubDate><description><![CDATA[1．强引用
以前我们使用的大部分引用实际上都是强引用，这是使用最普遍的引用。如果一个对象具有强引用，那就类似于必不可少的生活用品，垃圾回收器绝不会回收它。当内存空间不足，Java虚拟机宁愿抛出OutOfMemoryError错误，使程序异常终止，也不会靠随意回收具有强引用的对象来解决内存不足问题。
2、软引用（SoftReference）
如果一个对象只具有软引用，那就类似于可有可物的生活用品。**如果内存空间足够，垃圾回收器就不会回收它，如果内存空间不足了，就会回收这些对象的内存。**只要垃圾回收器没有回]]></description><category></category></item><item><title><![CDATA[windows和linux互传文件 ssh and scp]]></title><link>https://blog.youkuaiyun.com/three_stand/article/details/108750494</link><guid>https://blog.youkuaiyun.com/three_stand/article/details/108750494</guid><author>three_stand</author><pubDate>Wed, 23 Sep 2020 14:46:17 +0800</pubDate><description><![CDATA[1. windows传文件到linux


	1.windows安装ssh-keygen、ssh、scp
	
这里是是直接exe安装SecureCR就将上面三个命令自动安装的，如果不行请自行百度吧，默认没有安装ssh-copy-id命令


	2. 执行远程拷贝
	
scp -p D:\ideaWorkspace\bjsdzk-collector\target\collector-2.0-fat_new.jar root@47.113.188.227:/root/collector

在输入密码即可

3.]]></description><category></category></item></channel></rss>