Spring的ioc和aop

AOP:
主要的功能是:日志记录,性能统计,安全控制,事务处理,异常处理等等。
把就是那些与业务无关,但是被业务系统相互调用的代码封装起来,便于减少系统的重复代码,降低模块间的耦合度,并有利于未来的可操作性和可维护性。

IOC:
由spring来负责控制对象的生命周期和对象之间的关系。
在系统运行中,动态的向某个对象提供它需要的对象,然后在巴拉巴拉讲讲以前都是手动注入对象等等等。。。

二、IOC的好处

  可维护性比较好,非常便于进行单元测试,便于调试程序和诊断故障。代码中的每一个Class都可以单独测试,彼此之间互不影响,只要保证自身的功能无误即可,这就是组件之间低耦合或者无耦合带来的好处。

  每个开发团队的成员都只需要关心实现自身的业务逻辑,完全不用去关心其它的人工作进展,因为你的任务跟别人没有任何关系,你的任务可以单独测试,你的任务也不用依赖于别人的组件,再也不用扯不清责任了。

  可复用性好,我们可以把具有普遍性的常用组件独立出来,反复利用到项目中的其它部分,或者是其它项目,当然这也是面向对象的基本特征。

  IOC生成对象的方式转为外置方式,也就是把对象生成放在配置文件里进行定义,这样,当我们更换一个实现子类将会变得很简单,只要修改配置文件就可以了,完全具有热插拨的特性。

如何去掉/转换数字/金额分位符

将一个数字转换为有千分位的格式:

    NumberFormat numberFormat1 = NumberFormat.getNumberInstance();  
    System.out.println(numberFormat1.format(11122.33)); //结果是11,122.33  
      
    NumberFormat numberFormat2 = NumberFormat.getNumberInstance();  
    numberFormat2.setGroupingUsed(false); //设置了以后不会有千分位,如果不设置,默认是有的  
    System.out.println(numberFormat2.format(11122.33)); //结果是11122.33   

将一个数字转换为有千分位的格式:

    String amount1 = "13,000.00";  
    double d1 = new DecimalFormat().parse(amount1).doubleValue(); //这里使用的是parse,不是format  
    System.out.println(String.valueOf(d1)); //结果是13000.00  

TCP 为什么三次握手而不是两次握手

为了实现可靠数据传输, TCP 协议的通信双方, 都必须维护一个序列号, 以标识发送出去的数据包中, 哪些是已经被对方收到的。 三次握手的过程即是通信双方相互告知序列号起始值, 并确认对方已经收到了序列号起始值的必经步骤
如果只是两次握手, 至多只有连接发起方的起始序列号能被确认, 另一方选择的序列号则得不到确认

TCP 的通信流程

 title= title=

————————————————
版权声明:本文为CSDN博主「萧萧冷」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/lengxiao1993/java/article/details/82771768

Windows10安装RabbitMQ

   
    Windows10安装RabbitMQ
本文简略记载下艰辛安装旅程需要注意的点

1、首先需要 安装erlang
https://www.erlang.org/downloads

2、设置erlang的环境变量
变量名:

ERLANG_HOME

变量值:

你的erlang安装路径 例如:D:\tool\erl10.5

3、安装RabbitMQ https://www.rabbitmq.com/install-windows.html

4、设置环境变量
变量名:

RABBITMQ_HOME

变量值:

你的RabbitMQ安装路径 例如:D:\tool\RabbitMQ Server\rabbitmq_server-3.8.3

最后把添加的两个环境变量添加到系统path路径中

%ERLANG_HOME%\bin;%RABBITMQ_HOME%\sbin;

5、安装plugins插件 执行:

rabbitmq-plugins enable rabbitmq_management

6、启动执行

rabbitmq-server.bat
需要注意点:

工具安装路劲不能包含空格和中文

安装的erlang必须和RabbitMQ版本匹配
https://www.rabbitmq.com/which-erlang.html#supported-version-policy

Windows杀死进程

端口被占用,需要杀死进程,先查找进程,再结束进程。
方式一:根据进程父ID杀死进程

查找被占用的端口

netstat -ano | findstr "1080"

根据进程父ID杀死进程

taskkill /pid 5588 /f
方拾二:根据程序名称结束进程

在任务管理器找到要结束的进程

根据程序名结束进程

taskkill /im nginx.exe /f

note: /f 强制结束进程

作者:帮我的鸵鸟盖个章
链接:https://www.jianshu.com/p/1e69bd9c4530
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。