- 博客(64)
- 收藏
- 关注
原创 系统对接梳理
1、含义消除信息孤岛,利用资源(资源整合、业务间的合作),或者优化性能、安全性、稳定性,产生价值(不一定更高,也可能亏)2、按系统类型同类系统、异构系统3、按通讯类型通讯协议划分、通讯方式划分4、按架构类型应用系统间、应用系统与中间件、中间件与中间件、应用系统与操作系统、中间件与操作系统5、按用途IT优化、业务需求、合规监管、新旧改造尽管从不同角度有不同的划分,但是这些类型之间的划分是有关联的,他们的依赖关系通常如下:6、通讯方式、通讯协议无论..
2021-07-08 03:26:42 4968 1
原创 eclipse常用插件、命令、快捷键整理
插件Eclipse Git - Git integration for EclipseSubversiveSubclipsePyDev - Python Development environmentPropertiesEditorWindowBuilderEclipse Groovy Development ToolsAnsi Console启动命令跟ec...
2018-07-15 14:30:35 521
原创 eclipse安装svn插件
两种主流插件eclipse的svn插件有两种,一种是subversion,一种是subclipse,前者默认通过纯JNI的方式实现svn桥(SVNKit),后者默认通过直接使用本地方法和动态链接库DLL(仅windows)的方式操作svn(JavaHL),稳定性更高。当然,具体使用哪种实现都是可以任意切换的。选择我跟倾向于手动安装的方式,因为易于管理自己的插件,而且不用担心在线安装集成出错不可回滚...
2018-07-15 02:31:38 658
原创 eclipse安装Ivy插件
Ant和Ivy可以说是相当古老的开发工具组合,一个编译,一个外部jar管理,现在Maven已经逐步取代Ant+Ivy,然而最近遇到的项目仍然是复古+流行,也就让我找了个理由研究下这上古时期的东西。尽量不要在线安装Ivy最多由eclipse继承到4版本之前,4之后的版本都已近逐步取消内置Ivy插件了。在线安装插件很简单,这里就不讲了,通常对于那些较为成熟和主流的插件,还是可以放心的使用在线安装,然而...
2018-07-11 22:55:57 4802
原创 Java clone、浅复制、深复制、复制构造函数
在java中的对象重复利用通常有两种渠道:复制引用、克隆,不管何种方法,它们都是为了减少对象重复创建和赋值操作,一定程度上提高效率。这里就有关对象复用的几种方式和关系进行探讨。共识java中的对象分为两派:值类型和引用类型,这是因为他们的传递方式,一个是值传递,一个是引用传递。对于值类型,因为是值传递,所以在使用值类型的时候无须考引用类型存在一些问题,如:equals,hashcode,nullp...
2018-06-24 04:47:49 3407
原创 linux安装mysql通用解压版
相对于其他数据库,mysql的安装无论是windows平台还是linxu都是比较简单的。个人觉得,在window系统安装mysql,最好的方式就是使用安装程序,也即是安装版,因为有良好的向导,相依性的检查和执行都不需要管。而在linux系统中,最好的方式就是解压即用,也即是解压版,因为此方式对系统的修改最少,受到环境因素的干扰最少。不管什么方式,都是遵循简单可靠的原则即可。说明mysql最新版的官...
2018-06-21 05:43:27 3082
原创 linux mysql5.7及之后版本root用户密码过期(You must reset your password using ALTER USER)解决办法
在linux初始化完成mysql之后,使用默认随机生成的root密码登录mysql,会出现无法执行任何命令的情况:You must reset your password using ALTER USER statement before executing this statement.然而此时的root并不能执行上述的ALTER USER 语句,因为root此时没有任何DML权限。通过mysq...
2018-06-19 18:34:44 8918
原创 linux日常命令和基本操作
控制台操作shift+pageup/pagedn:上下翻页alt+←/→:切换命令行终端ctl+alt+F1~F8:切换终端包括图形界面终端ls -l>aaa.out:将命令输出到文件复制黏贴技巧:ctl+space+左右移动光标:标记起始点和终点ctl+w:复制标记的部分ctl+xx:交替显示起始点和终点光标ctl+y:调出复制的内容alt+y:切换复制的内容系统信息getconf LON...
2018-06-16 17:19:14 689
原创 Mybatis源码解析5——SqlSessionFactory
在Executor的解析一篇中我已经大致的分析了SqlSessionFactory对于创建SqlSession的工作,现在来进一步的探讨一下SqlSessionFactory的全部内容。回顾之前的研究,已经知道SqlSessionFactory的一部分工作是创建SqlSession,SqlSessionFactory是一个接口,这个接口限定openSession返回的session必需是从连接或数...
2018-05-12 18:23:20 302
原创 Mybaits源码解析4——SimpleExecutor、ReuseExecutor、BatchExecutor、CachingExecutor
上一篇对Executor接口进行了大致的分析,这边来针对它的实现进行分析。现在我们知道,mybatis默认情况下是使用simpleExecutor的,如果你需要修改,有两种方式,一是在setting中配置defualtExecutorType,另一种方式是通过SqlSessionManager指定executorType并创建sqlsession。下面以doUpdate和doQuery方法为例,比...
2018-05-12 02:40:54 5180
原创 mybatis源码解析3——Executor
经历了上一篇mybaits的基础架构部分的configuration的源码解析,也深感自身功力不足,也可能是configuration是复杂基础组件,一套下来感觉有点恶心吃不消,后面总算是有模有样的缕清了关系。言归正传,依旧继续上一个例子,这篇来解析下Executor。 public int update(int id) { SqlSession session = SQLSessionFac...
2018-05-10 07:26:15 812 1
原创 mybatis源码解析2——Configuration
上一篇解析了SqlSession的源码,本篇继续解读有关流程,继续来看这个例子: public int update(int id) { SqlSession session = SQLSessionFactory.getSessoinFactory().openSession(); int i = session.update(namespace+"updateOne",id); s...
2018-05-09 13:04:17 704
原创 mybatis源码解析1——SqlSession
先从日常工作流程下手吧,在看其他项目的源码前,最好对项目有一个充分的了解,如具体的实现步骤、配置、应用等,另外看源码是对所使用工具的一种深究,只有对自身掌握的工具知根知底,在进行架构设计、选型的时候才能够做出合理的判断,并且一旦你对源码有一定的熟悉程度,还可以在必要的时候进行改造或者扩展,已满足自身的需要,这是非常重要的。某些项目的设计模式非常优秀,借鉴这些设计有助于自身的成长。操作流程我们通常按...
2018-05-07 20:25:33 625
原创 mysql线程池模式
mysql接收查询的请求连接时,会有对应的线程来接收并处理请求,随着需求的日益增长,单一的一对一模式已经不能满足请求的膨胀,因此,新版本的mysql提供了几种处理模式来应对需求。单线程模式(No-Threads)单线程模式也就是只有一个主线程来完成所有的请求处理,通常只用于调试。一对一模式(one-connection-per-thread)也就是传统的处理模式,该模式下一个线程对应处理一个请求,...
2018-05-05 02:32:07 835
原创 JVM工作原理简述
JAVA之所以跨平台,是因为有JVM这么一个编译和运行机器,它令对于系统的操作对于用户而言是黑盒的,使得开发人员更快速和更注重软件功能的实现。然而,也因为jvm是黑盒,所以内部和底层具有不确定性,如果用状态机来表示jvm,那么jvm就是一种现役复制不确定的状态机,因为它的状态和表现跟系统、底层、硬件等等都有关系,从而状态是不确定,如果在分布式应用中,jvm一直以来兼容性都不是很好,这就是主要原因。...
2018-04-25 02:03:33 8846 1
原创 JAVA的泛型——如何获取参数化类型
泛型是一种元编程模式,如果这种语言具有元编程能力,就有可能使用泛型,如果这种语言的元编程对象可以是自己,即自我编写自我,那么就具有反射能力,结合反射可以极大的发挥元编程的价值。不同的语言的泛型实现方式不同,一个鲜明的对比就是C#的泛型跟JAVA的泛型,前者是独立类型模式,而后者则是静态共享模式,这导致了在开发过程中处理方式有很大不同。参数化类型,指的就是泛型的实际形式,即将类型以参数的方式进行传递...
2018-04-12 18:07:46 2315
原创 optional用法
java8的改进中一个非常有用的就是optional,一句话概括,optional允许使用一个不确定是否为null的对象并且在对象为null的时候采取一系列的应对措施而不必抛出nullpointerException。这项改进对于经常面对空指针异常的程序是个福音,因为按照以往的方式,要避免空指针异常,就必需进行null判断,如if(obj==null),另一种方式就是抛出异常并处理,然而这两种方式...
2018-04-03 04:57:38 5147
原创 查错排错方法总结
借助IDE等工具平台,可以极大的方便对程序的调试和纠错。如何熟练的使用,直接影响到代码的质量和开发的效率。在开发过程中,一般按照这个流程循序渐进:编写->测试单元->核对修改->运行单元测试->定位bug->编写其中,就定位问题总结一下,定位效率和准确性直接影响效率。对于不同的错误,定位方式也不一样。顺序如下:1、在异常的行中确定为空的对象,并向前沿着调用关系设置断点...
2018-03-28 23:03:28 707
原创 this关键字使用注意事项
近日在开发过程中遇到不少问题,其中就是this引发的,发现自己对于模式的实现存在不少疑点,在此进行总结以巩固加深。this:java这个关键字作用是很大的,通过它来指向对象自身包括自身的内容,但是很多教程和书籍里面的描述都不够准确,我也被误导多年。确切的说,this指的是当前的调用者。因为调用者是动态的,因此this的文章就在这里。然而这可没那么简单,因为java是静态的,但是this关键字却很动...
2018-03-23 03:10:40 657
原创 EntityGenerator实体字典生成工具
https://github.com/LoongYou/EntityGeneratorentitygenerator是一个用于快速创建ORM中实体类文件的工具,为了更简单方便的完成一些项目中的基础搭建工作,当你的项目涉及的表很多,它可以令你节省时间。虽然,mybatis和hibernate都有generator此类功能或插件,但是本人认为还是不够简易和顺手,特别在有较多不确定性或者偏向于自主...
2018-03-20 13:49:59 1201
原创 github操作整理
Github是一个分布式版本管理团队合作系统,https://github.com/分布式版本管理系统的几大基本要素:仓库、爬取、提交、发布、合并不管是github或者是svn等,都是遵从这几个流程来办事的,只是叫法不一样,其他的操作都是从这些环节中衍生出来的。仓库(repository):通常作为一个项目的根或者某些资料存储目录的根,通常存放项目的主线版本及快照,也就是所谓的基线。爬取 (fet...
2018-03-15 23:00:08 311
原创 python学习笔记——beautifulsoup对象操作2
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><met
2018-03-07 15:08:42 257
原创 python学习笔记——beautifulsoup对象操作
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><met
2018-03-07 00:26:08 354
原创 python学习笔记——BeautifulSoup对象属性操作
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><met
2018-03-06 17:54:43 1156
原创 python学习笔记——安装beautifulsoup
python2.7 win10beautifulsoup是一个可用于爬虫项目的框架,可对html等文件进行解析,并且提供了一些列的函数高效便捷的读取和匹配内容。安装方式:1、安装包形式先确认python有无安装pip脚本:通常环境变量配置好,使用install安装的python都是正常的。然后下载beautifulsoup:https://pypi.python.org/pypi/beautifu...
2018-03-06 16:03:45 459
原创 说说python跟java的区别
编程语言至今还是认为两大类,动态和静态。动态指运行时编译,静态指先编译后运行。目前来讲,没有说哪一种是绝对有利的,只能说择优使用。我是从静态到动态学习的,也有人是动态到静态的学习,而我见的更多的是学着静态就放弃转而学习动态语言了。如果先学习静态语言,那么对人的耐心有很大考验,一开始要大量的记忆数据类型和基础语法,再到面向对象,这是个不小的挑战,特别是java这种庞大的面向对象语言,从入门到熟练是一...
2018-03-05 23:00:00 503
原创 Python学习笔记——正则表达式对象
python的正则表达式对象的使用也是很方便的,特别是提供了许多内置便捷的匹配方法。#!/user/bin/env python#coding:utf-8print '正则表达式'import re#创建一个规则对象,默认非贪心,re.I为忽略大小写pattern = re.compile(r'python',re.I)#match方法:从字符串开始,如果匹配字符满足规则,则返...
2018-03-05 15:09:13 526
原创 python学习笔记——文件读写操作
文件操作和流概念在许多语言中都是通行的,如果学习python之前会C++或者java这些静态语言,那么里面很多细节就不必用太多功夫探究了。#!/user/bin/evn python#coding:utf-8from _codecs import decodeprint 'python文件读写操作'#标准输入输出流str = raw_input('请输入字符\n')print st...
2018-03-01 17:19:38 506 1
原创 python学习笔记——包
python的源文件夹可以作为一个包,但不一定是包,例如:在test文件夹中,如果有__inti__.py这么命名的一个脚本,则test认为是一个包。#!/user/bin/env python#coding:utf-8print '为了表示test是一个包,创建名称必需为__init__.py的文件'在run.py中,如何调取包:#!/user/bin/env python#coding...
2018-03-01 11:06:02 233
原创 python学习笔记——模块操作
#!/user/bin/env python#coding:utf-8print 'python模块操作'#导入一个模块,通过模块.方法使用import demo7demo7.plus(100)#将模块的某部分添加到当前模块字典中,使用时无需声明所属模块from demo7 import plusplus(100)#将math模块的所有内容加入当前模块from math...
2018-03-01 10:59:21 387
原创 python学习笔记——变量作用域
#!/user/bin/env python# coding:utf-8'''Created on 2018/2/28@author: yl'''print 'python变量作用域'#复刻一个经典java面试题number = 199sum = 0#sum在方法内是局部变量,修改不会影响外部的sum,这是对基本类型而言def plus(i): sum = nu...
2018-02-28 19:07:19 237
原创 python学习笔记——自定义函数
#!/user/bin/env python# coding:utf-8'''Created on 2018��2��27��@author: yl'''print '自定义函数'def setName(name,age): '默认按照参数顺序入参,函数名和参数个数相同则认为是同一个函数,不能重复定义' print name+str(age)setName('...
2018-02-28 14:46:49 1420
原创 python学习笔记——常用类库和函数——日期时间
下面记录的是跟java有区别的地方,除此之外,都可以参考互通#!/user/bin/env python# coding:utf-8from _codecs import decodeprint 'python常用类库和函数——日期时间'#时间模块import time#格林威治时间秒数now = time.time()print now'''返回一个本地时间和元组键值...
2018-02-27 10:30:31 277
原创 养成良好的编程习惯
一个人有没有良好的修养,就从他的为人处世以及行为习惯中看出来。作为软件开发人员,也应该养成良好的职业素养和编程习惯,这样才能在人生道路上进一步向上攀爬。写代码的良好习惯1、写之前先三思,一问题二目的三思路2、不要等到凉了再来补注释,注释言简意赅,有时候写注释也是某种程度的构思和总结,能够自我发现问题3、各种类型、访问级别的变量、方法合理用线条区隔开来4、不要因为变量而无话可说,往往变量的来龙去脉需...
2018-02-26 16:27:55 1898
原创 python学习笔记——集合类
下面记录的是跟java有区别的地方,除此之外,都可以参考互通#!/user/bin/env python# coding:utf-8print 'python集合类'#=============列表:类似于java arraylist==list = ['L','O','V','E','Y']#输出元素,截取,拼接print list[1]print list[0:4]pri...
2018-02-26 16:19:22 361
原创 python学习笔记——结构语句
下面记录的是跟java有区别的地方,除此之外,都可以参考互通#!/usr/bin/env python# encoding: utf-8''' design by Imadone'''print '结构语句'a = 90b = 60c = 100#条件语句if a>=60 and a<100: print 'pass'elif a==100: ...
2018-02-26 04:17:41 289
原创 python学习笔记——运算符
下面记录的是跟java有区别的地方,除此之外,都可以参考互通#!/usr/local/bin/python2.7# encoding: utf-8print '运算符'a = 6;b=5#a的b次方幂运算print a**b#取整除print a//b#不等于print a<>b#与或非print a and bprint a or bprint no...
2018-02-26 01:43:36 270
原创 python学习笔记——数据类型
下面记录的是跟java有区别的地方,除此之外,都可以参考互通#!/user/bin/evn python# -*- coding:UTF-8 -*-'''Created on 2018年2月25日@author: yl'''print '数据类型'#变量赋值a,b,c = 1,1.1,'1.1'#删除引用del a,b,c#长整型和复数a = 100L;b = 3...
2018-02-26 01:37:33 471
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人