- 博客(22)
- 收藏
- 关注
原创 对象和String之间转换(包含基本类型转换)
开发过程中,一般将对象转换成String 或String 转对象 大部分通过fastjson的方式,但是各种json框架在处理基本类型的时候,会显得力不从心。这里最优秀的还是jackson的转换方式。主要使用ObjectMapper 对象,可以实现Object 到string 也可实现Object 到 byte[] 的转换。package com.fasterxml.jackson.databind.ObjectMapper;...
2022-06-14 16:54:15
1836
1
转载 VIM快捷键
vim的三种操作模式vim有三种操作模式,分别是命令模式(Command mode)、输入模式(Insert mode)和底线命令模式(Last line mode)。三种模式切换快捷键: 模式 快捷键 命令模式 ESC 输入模式 i或a 底线命令模式 : 命令模式 在命令模式中控制光标移动和输入命令,可对文本进行复制、粘贴、删除和查找等工作。 使用命令vim filename后进入编辑器视图后,默认模式就是命令模式,此时敲击键盘字母会被识别为一.
2020-06-10 10:28:25
264
原创 一致性hash
一致性hash的产能背景通过hash将数据分步到数据库中,当机器增加一台或者减少一台 进行rehash时,数据的迁移量相对会比较大。什么是一致性hash?1.将所有机器hash后的定位到0-2^32次方 的圆环上,当新增节点 ,求新增节点hash值 定位到圆环上,只需要将下一个节点的部分数据迁移到新的机器上即可。如何解决分步不均匀问题?通过增加序列节点 进行hash...
2020-03-20 01:35:56
202
原创 分布式事务TXC挂起方法
在分布式事务执行的时,当服务A与下游服务B,C,D分布式绑定时,如果想停止事务对C的广播,可如下操作:start TXC A invoke B; String xid = TxcContext.suspendTxcTransaction(); A invoke C; TxcContext.resumeTxcTransaction(xid); A invoke ...
2019-12-18 19:13:52
427
原创 SpringMVC 查询参数接收时间戳转Date方法
Spring mvc 通过 @RequestParam接收 参数指定类型为Date时,接口传入时间戳 会默认为string类型,无法转为Date,可在controller中添加如上转换器。 @InitBinder public void initBinder(final WebDataBinder webdataBinder) { webdataBinder.reg...
2019-12-17 19:37:03
4488
原创 【Effective JAVA】学习笔记
创建和销毁对象考虑用静态工厂方法代替构造器遇到多个构造器参数时,要考虑用构建器注:在lombok插件中 有个 @Builder注解 可以方便生成构建器,建造者模式用私有构造器或者枚举类型强化Singleton属性注:可以参考单例的几种实现方式,推荐枚举 和 静态类的方法实现,避免饿汉式加载和懒汉式的线程同步问题通过私有构造器强化不可实例化的能力。注:对于一些工具类 建议加上私有构造...
2019-08-24 02:05:36
125
原创 Spring如何在一个单例Bean中注入多例Bean,保证每次获取都是新的多例Bean
文章目录1 使用Lookup注解2 使用Spring的ObjectFactory在spring中 如果需要一个对象为多例,需要使用 @Scope注解,指明作用于为SCOPE_PROTOTYPE即可。当我们在一个单例的bean A中注入多例bean B时,由于spring在初始化过程中加载A的时候已经将B注入到A中,所以直接当做成员变量时,只会获取一个实例。我们可以通过以下两种优雅的方法解决:...
2019-08-22 02:05:27
5334
原创 【UML和模式应用】第二部分 细化迭代1-基础 学习笔记
什么是细化? 构建核心架构,解决高风险元素,定义大部分需求,以及预计总体进度和资源。如何创建领域模型?寻找概念类-->将其绘制为UML类图中的类--> 添加关联和属性。如何找到概念类?1. 重用和修改现有的模型。参考一个成熟的模型,需要常见领域中都存在已经发布的领域模型和数据模型。2.使用分类列表。3. 确定名词短语。如何理解聚合和组合?...
2019-08-22 00:26:57
194
原创 【UML和模式应用】第一部分 初始阶段 学习笔记
OOA/D: 面向对象的分析和设计(Object-Oriental Analysis And Design)1. 初始阶段是建立项目共同设想和基本范围的比较简短的起始步骤。包含:进化式需求,用例和其他需求。2. 用例建模,首先要询问的是“谁来使用系统,他们的目标是什么?” 而非“系统的任务是什么?”...
2019-08-21 01:35:57
198
原创 类的方法内调用如何让切面生效?以及一些new对象如何调用注入的单例对象?
一些编程上的小技巧。1.方法内调用如何让切面生效?我们知道一个切面作用在整个类的外围。如果类的内部方法相互调用如何让缓存生效呢?这里可以使用的一个小技巧是通过将当前类的代理类注入当前类中,在使用的时候即可使用生成的代理类了。如下:@Serviceclass DemoService { @Autowired DemoService proxy; @C...
2019-03-07 22:36:29
1766
原创 面试题 两个线程间隔打印1,2,3,4,5,6,7,8....100 一个线程打印奇数,一个线程打印偶数
此题还有一种变种 即 两个线程分别控制灯光交替闪烁, 其中一个线程控制开灯,另外一个线程控制关灯。主要考察的是对多线程协同的理解。主要利用 wait和notify进行解题。案例代码:/** * @date 2019/02/25 */public class ThreadTest { public static volatile int i = 1; ...
2019-02-26 22:23:49
981
2
原创 No typehandler found for property ***
问题描述在eclipse开发环境下,使用mybaitis 创建一个自定义的 BaseTypeHandler,用于解析 String 数组。开发环境中运行正常。当上传到测试环境后,运行报 ested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. Cause: java.lang...
2018-07-30 22:01:03
4274
1
转载 SpringMVC JSP文件加载bootstrap 路径失效问题解决
jsp文件在在webapp/WEB_INF文件夹下, bootstrap 在webapp文件夹下,如果web.xml 配置如下: <servlet-mapping> <servlet-name>dispatch</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping>继续配置如下代码,即可: <
2016-12-23 20:21:17
1982
原创 Centos 下 安装 flask ,Mysql-python 步骤
首先安装pip第一步安装pip :wget --no-check-certificate https://bootstrap.pypa.io/get-pip.py第二步:执行 python get-pip.py 第三步安装Flask:执行pip install Flask第四步安装mysql: yum install mysql 第五步安
2016-08-15 15:35:20
544
转载 UML 类图学习总结
常见的UML 关系:泛化,实现,关联,聚合,组合,依赖。泛化(Generalization)【泛化关系】:是一种继承关系,表示一般与特殊的关系,它指定了子类如何特化父类的所有特征和行为。例如:老虎是动物的一种,即有老虎的特性也有动物的共性。【箭头指向】:带三角箭头的实线,箭头指向父类2.实现(Realization)【实现关系】:是一种类与接口的关系,表示类似接口所有特征和行为的实现。【箭头指
2016-07-01 15:27:00
317
原创 单例模式学习
1 单例模式定义: 单例模式只存在单一的实例,即保证对象在内存中只有一个对象存在。例:打印服务器,网站计数器。只能存在一个jdk中的应用:Runtime 类2 保证类在内存中只有一个对象步骤A.把类构造函数私有,不让外界创建对象;B.在类里面创建一个对象;C.通过一个公共的访问方式给外界提供一个获取对象的入口。D.单例对象,和获取对象的方法都必须定义为static的3饿汉式单例模式和
2016-06-28 18:53:22
250
原创 java LinkedList 和 ArrayList 对比
ArrayList 底层实现是一个动态数组列表,通过对列表的不断扩容来增加容量。 LinkedList 主要通过链表实现,将所有元素串联起来。增:ArrayList和LinkedList 的add()方法 相比较,测试结果:ArrayList 优于LinkedList,可能原因是两者都是在队尾添加元素,所以不牵扯到元素的移动,而linkedList的元素每次需要新建Node节点,来存储元素,增加了
2016-06-24 17:08:14
312
转载 工厂模式学习
简单工厂模式:创建对象比较复杂,需要做一些初始化的动作,可以考虑使用工厂模式中创建对象来实现;优点:简单工厂模式,客户端不负责对象的创建,只负责对象的调用。对象的创建有工厂模式实现。(单一职责原则)。缺点:由于这个工厂负责所有对象的创建,当子类不断增多的时候,需要修改工厂的创建代码来满足客户端的调用,违反了开闭原则。工厂方法模式:针对每个对象创建一个工厂类。优点:工厂方法模式,客户端不负责对
2016-06-24 12:42:10
264
原创 设计模式遵循的几个基本原则
面向对象的三个基本特征: 封装,继承,多态; 封装:将数据和函数方法封装在一个类之中; 继承:子类继承父类 多态:不同的对象对于同一方法提现出不同的状态 [这里写图片描述](http://img.blog.youkuaiyun.com/20160623185313421)面向对象的几个基本原则:1.单一原则:一个对象只负责完成一个职责;高内聚,低耦合;2.开闭原则:对扩展开放,对修改关闭;对类的改动
2016-06-23 18:54:42
498
原创 JAVA 使用org.apache.http.impl.client太久可能报UnknownHostException和open too many files错误
在最近的开发过程中,使用狗屁
2014-11-06 21:17:18
1171
转载 DNS域名解析过程与 UnknowHostException的一种解决方案
DNS解析过程及原理第一步:客户机提出域名解析请求,并将该请求发送给本地的域名服务器。第二步:当本地的域名服务器收到请求后,就先查询本地的缓存,如果有该纪录项,则本地的域名服务器就直接把查询的结果返回。第三步:如果本地的缓存中没有该纪录,则本地域名服务器就直接把请求发给根域名服务器,然后根域名服务器再返回给本地域名服务器一个所查询域(根的子域)的
2014-11-05 20:09:19
4479
原创 关于java String格式 转Date格式 SimpleDateFormat 报java.text.ParseException 错误
我们日常在java程序中 ,将字符串类型的日期转化为date型,常用的方法是 java.text.SimpleDateFormat类。例如:;SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");//小写的mm表示的是分钟 String dstr="2008-4-24"; java.util.Date date=sdf.
2014-11-04 21:32:30
4729
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人