- 博客(38)
- 资源 (2)
- 问答 (1)
- 收藏
- 关注
原创 关于编程语言的一些理解
从本科接触计算机到现在工作半年,接触到编程语言也是不少,有汇编语言,C,C++, java, python等,用的最多到是java,与python。 当前AI领域的首选语言python,不得不说,python在针对模块开发真的是效率很高,对于资源要求不高的,python真是不错的选择,python库也是挺完善的,自己也可以定制自己的功能模块进行上传共享。知道的很多创业型起家都是选用pytho
2018-02-04 10:31:58
445
转载 《Effective Java》—— 读后总结
1、静态工厂方法代替构造器 ●静态工厂方法有名称,能确切地描述正被返回的对象。 ●不必每次调用都创建一个新的对象。 ●可以返回原返回类型的任何子类对象。 ●创建参数化类型实例时更加简洁,比如调用构造 HashMap 时,使用 Map m = HashMap.newInstance() ,与 Mapm> = new HashMap>(); 。
2017-10-19 08:27:41
302
原创 Aes256的CBC模式加密
问题描述 最近在做需求接触到的加解密的问题,一般现在依赖库与扩展包基本都有,md5,sha系列以及AES对称加密等。 因为需要使用python进行实现,python有专门的库方法进行加解密,只是在实现AES对称加密时,python中实现在现有的方法库基础上进行自定义一些变量,如填充,移位iv(默认长度必须16位), 因为对方给的密钥是32位,而给的java默认支持是16位密钥,若要支持32位
2017-09-29 20:19:50
16984
转载 微服务架构的优势与不足
英文原文:Introduction to Microservices 这篇文章作者是Chris Richardson,他是早期基于Java的Amazonite EC2 PaaS平台CloudFoundry.com的创始人。现在他为企业提供如何开发和部署应用的咨询服务。他也经常在http://microservices.io上发表有关微服务的文章。 微服务正在博客、社交媒体讨论组和会议演讲
2017-09-01 08:42:35
288
转载 2017年如何成为全栈工程师,这些技能是你必须具备的!
【编者按】根据Stack Overflow 2016 Developer 调查,全栈(Full-Stack)Web开发是当前最受欢迎的开发职业。难怪有很多在线和现场培训项目帮助培训对象成为新的全栈开发人员,甚至协助这些新手获得高薪编程工作。以下为译文:在这篇文章里,我不准备讨论哪一个网站或者代码训练营有最好的开发培训项目,但是我会提供明确的指南,说明哪些是我相信成为全栈web开发者所需要的最重要技能
2017-08-14 21:50:06
380
转载 设计模式OOP原则
原则1:DRY(Don’t repeat yourself)即不要写重复的代码,而是用“abstraction”类来抽象公有的东西。如果你需要多次用到一个硬编码值,那么可以设为公共常量;如果你要在两个以上的地方使用一个代码块,那么可以将它设为一个独立的方法。SOLID设计原则的优点是易于维护,但要注意,不要滥用,duplicate 不是针对代码,而是针对功能。这意味着,即使用公共代码来验证Order
2017-08-12 10:34:55
260
转载 一位10年Java工作经验的架构师聊Java和工作经验
黄勇( 博客),从事近十年的 JavaEE 应用开发工作,现任阿里巴巴公司系统架构师。对分布式服务架构与大数据技术有深入研究,具有丰富的 B/S 架构开发经验与项目实战经验,擅长敏捷开发模式。国内开源软件推动者之一,Smart Framework 开源框架创始人。热爱技术交流,乐于分享自己的工作经验。著有《架构探险——从零开始写Java Web框架》一书。我的十年技术之路CSDN:请和大家介绍下你和
2017-08-10 07:22:51
1220
原创 (Java)接口与抽象类
1.接口 ((1)接口中方法默认是public abstract,不允许与实体方法,可以定义常量。 (2)接口一般是定义抽象行为的,每一个实现接口的类,都具备接口的行为,根据实现类自身的特点进行行为定义。 (3)因为Java单继承的特点,而可以实现多接口,所以使用接口实现多态特性,架构更易于扩展。 (4)接口可以去实现接口,这样可以更好定义行为,并使得架构具有更好的可扩展性。
2017-08-08 08:58:23
216
原创 Java系列问题(三)
1.继承 《Effective Java》中说慎用继承,优先采用组合。但是继承作为Java语言特性之一,为了解决代码重复使用与实现多态而产生。 当确实存在多个类存在共同属性时,还是有必要抽离出一个父类,然后子类继承父类共同属性,父类属性均为private属性,子类不能直接存取,而必须通过父类中的get/set注入器与访问器来存取值,这样子类也就继承了父类的private属性,同时也
2017-08-07 08:00:13
220
原创 Gihub上参与开源项目
1.安装TortoiseGit 安装好tortoisegit后,使用tortoisegit的bin目录下的如图工具生成密钥,并配置到github中去。 配置流程:http://jingyan.baidu.com/article/63f236280f7e750209ab3d60.html2、 登录github 打开https://github.com/login,输入注册的用户名
2017-08-05 16:43:00
751
转载 垃圾回收算法与 JVM 垃圾回收器综述
我们常说的垃圾回收算法可以分为两部分:对象的查找算法与真正的回收方法。不同回收器的实现细节各有不同,但总的来说基本所有的回收器都会关注如下两个方面:找出所有的存活对象以及清理掉所有的其它对象——也就是那些被认为是废弃或无用的对象。Java 虚拟机规范中对垃圾收集器应该如何实现并没有任何规定,因此不同的厂商、不同版本的虚拟机所提供的垃圾收集器都可能会有很大差别,并且一般都会提供参数供用户根据自己的应用
2017-08-03 22:05:32
274
原创 Java<<、>>与>>>移位操作(二)
1.移位操作 计算机只能识别由1、0组成的机器码,所以任何数据都能进行二进制的移位操作,向左移位或者向右移位,来改变数值大小。2.>与>>>>带符右移,只需要在高位根据数值原本正负性来补充数值,正数则添加0,负数则添加1,>>>无符号右移,在高位补充0。3.使用实际开发过程中,我们可以根据具体需要使用,但目前为止,我好像没有遇到使用的地方,除了设计相关算法解题时有使用。
2017-08-02 23:00:37
321
原创 Java系列问题(一)
1.jdk安装windows的jdk(jre)安装程序会自动放一份java(.exe)到C:\Windows\system32中,所以安装完jdk(jre)后,就可以直接执行Java指令。2.用户变量与系统变量用户变量只对登陆系统用户生效,对于系统变量,是对于所有共享系统用户均有效。系统变量与用户变量中均设置了路径时,系统优先搜索使用系统变量下的路径。3.classpath与pat
2017-08-02 08:27:45
247
原创 JDK与JRE/Client or Server模式JVM
1.JDK与JRE JDK,Java Development kits,是进行Java开发的工具集合;JRE,Java Runtime Environment,Java程序运行环境。由Java的体系结构,知道JDK由Java语言,JRE,一些工具,指令等组成,JRE由运行API,JVM,以及相应的源码等组成。一般JDK中自带JRE,也可以另外自行安装JRE。因为JVM的存在,使得JAVA程
2017-08-01 23:07:04
757
转载 Java进阶之路——从初级程序员到架构师,从小工到专家
怎样学习才能从一名Java初级程序员成长为一名合格的架构师,或者说一名合格的架构师应该有怎样的技术知识体系,这是不仅一个刚刚踏入职场的初级程序员也是工作三五年之后开始迷茫的老程序员经常会问到的问题。希望这篇文章会是你看到过的最全面最权威的回答。一: 编程基础不管是C还是C++,不管是Java还是PHP,想成为一名合格的程序员,基本的数据结构和算法基础还是要有的。下面几篇文章从思想到实现,为
2017-07-31 07:37:46
448
原创 如何自己设计一个高效类似于HashMap的容器
每一个找工作的人,对于Java collections的问题都会很熟悉,JDK 的java.util这个工具类中有各种容器的设计与实现。Hashmap是对map接口的一种实现,是一种使用很频繁的容器。1.HashMap与Hashtable 相比较于Hashtable,HashMap非线程安全,每一个定义的方法都没有进行锁定,所以多线程情况下会高效但是会出现数据不同步问题,而hashtab
2017-07-30 22:09:21
1920
原创 复用与继承/静态工厂与构造器
1.复用与继承 面向对象特性之一就是继承,通过继承可以实现代码复用与功能扩展。但是却破坏了另一种特性封装性,这样就很危险了,你底层实现本应封装好,可却被看得一清二楚,随意更改。而复用就很好的解决这个问题,不但如此,继承有的复用都有。通过在类中引用其他类,这样既保障了类的封装性,也保障了类功能扩展。 如:假设有一个程序使用HashSet,为了查看它自创建以来曾经添加过多少个元素,我们可以通
2017-07-28 00:00:57
393
转载 谷歌研究发现优秀的团队必须具备这五个关键特质
译者注:谷歌公司花费2年时间研究了180个团队,最后总结了可以增强团队的五个关键特质。以下为译文。在过去的几年里,谷歌进行了无数的探索,收集了无数的数据,并花费了数百万去更好地了解自己的员工。其中最有趣的项目之一——亚里士多德项目,聚集了几个谷歌最优秀和最聪明的人才,帮助该公司将团队效率的秘密整理成册。具体来说,谷歌想要知道为什么有些团队表现出色,而另一些团队则落后。在这项
2017-07-27 22:56:23
445
转载 20个非常有用的Java程序片段
下面是20个非常有用的Java程序片段,希望能对你有用。1. 字符串有整型的相互转换String a = String.valueOf(2); //integer to numeric string int i = Integer.parseInt(a); //numeric string to an int2. 向文件末尾添加内容BufferedWr
2017-07-27 12:23:36
229
转载 CCAI 2017 | 香港科技大学计算机系主任杨强:论深度学习的迁移模型
作者 | 贾维娣7月23日,由中国人工智能学会、阿里巴巴集团 & 蚂蚁金服主办,CSDN、中国科学院自动化研究所承办的第三届中国人工智能大会(CCAI 2017)在杭州国际会议中心盛大开幕。大会第一天上午,香港科技大学计算机与工程系主任、AAAI Fellow杨强教授发表了《深度学习的迁移模型》主题报告。 杨强从深度学习模型的共性问题谈起,深度剖析如何使深度学习模型变得更加
2017-07-27 07:38:53
1340
原创 25年、博士、C\/C++程序员的告白:多年来代码依然存在bug
作者丨Robert翻译丨Diwei译者注:作者从事C语言开发很久了,但是他写的代码还是有问题,他却觉得很正常,因为写出来的代码没有bug的人非常少,那些以为自己代码写的很健壮的人,是因为他们没有碰到难题。以下为译文。我已经用C和C++编程超过25年了。我还拥有计算机科学专业的博士学位,我是Mozilla的一名杰出的工程师,过去十年我的主要工作是开发和审查C++代码。我写
2017-07-26 20:49:47
562
转载 Dubbo与Zookeeper、SpringMVC整合和使用(负载均衡、容错)
互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,Dubbo是一个分布式服务框架,在这种情况下诞生的。现在核心业务抽取出来,作为独立的服务,使前端应用能更快速和稳定的响应。第一:介绍Dubbo背景 大规模服务化之前,应用可能只是通过RMI或Hessian等
2017-07-24 22:40:50
248
原创 工程中的SSM框架
1.SSM 现在有很多企业产品的架构都是采用SSM,也就是Spring,Spring MVC与Mybatis,Spring作为表现层,Spring MVC作为业务逻辑控制层,Mybatis作为数据持久层,Mybatis相对于Hibernate的对象数据库映射,配置更为简单。2.架构分层 架构分为Controller控制层,Service服务层,以及Mapper的服务-数
2017-07-23 21:58:37
330
转载 人工智能冲击下的十大高危行业,你中了吗?
十大高危行业1)电话销售可能性:99%理由:你可能已经收到过各种推销产品的电话,然而电话营销领域的职业发展预计将在2024年下降3%。这在很大程度上部分是因为其对职业的要求:与其他销售角色不同,电话营销人员不需要高水平的社交或情感经验才能出色工作。仔细想想,你可能通过电话购买商品吗?事实上,电话销售的销售额转换率通常低于10%,这也使得这个角色容易被自动化。2)图书
2017-07-18 07:07:55
2040
转载 携程第四代架构探秘之运维基础架构升级
作为国内最大的OTA公司,携程为数以亿计的海内外用户提供优质的旅游产品及服务。2014年底携程技术中心的框架、系统和运维团队共同启动了架构改造项目,历时2年,涉及所有业务线。本文回顾了携程在整个技术架构改造过程中的一些实践和收获。一、写在前面随着携程业务量迅速增长、业务变化越来越敏捷,对于应用交付的效率也提出了更高的要求。根据统计,截止2014年底携程总应用数在5000个左右,平均
2017-07-16 22:16:05
2671
转载 百度陆奇内部最新演讲:成为优秀工程师的五个方法
一位工程师,如何才能称得上优秀?除了写得一手好 Code,什么样的工作态度和方法才是一个优秀工程师的必备?7 月 11 日,陆奇出席百度内部 Engineering Leadership Talk。作为计算机科学博士及优秀的管理者,他提出的五点要求,对每一位(百度)工程师都适用。Believe in 技术首先要相信技术,我刚才已经讲了
2017-07-15 10:53:32
613
转载 独家 | 蚂蚁金服漆远首谈刚完成的AI重大突破及紧缺人才,呼吁国内多点技术性强的大会,少点网红
7 月22 - 23 日,由中国人工智能学会、阿里巴巴集团& 蚂蚁金服主办,CSDN、中国科学院自动化研究所承办的第三届中国人工智能大会(CCAI 2017)将在杭州国际会议中心盛大开幕。 大会开幕前,CSDN独家采访到本届大会程序委员会主席、蚂蚁金服副总裁兼首席数据科学家漆远博士。本次采访中,漆远博士首次对外批露了日前刚刚完成的一项重大创新——把深度学
2017-07-15 10:20:00
1723
原创 prompt弹框的使用
一直做着后台的工作,前台的东西好像接触的也不少,但是研究的比较少,其实前端的设计与实现也是“博大精深”。其中JQuery就是一款功能非常强大的工具,它已经写好并实现了很多现有的方法。我们需要直接在引用即可,当然如果需要自定义,在他们的规范基础上也可以实现自定义。1. prompt JS中有三种弹框方式:confirm,弹出一个询问框,有确定和取消按钮;alert,弹出对话框并输出一段提
2017-07-12 23:29:35
8579
原创 GitLab 服务器下客户端TortoiseGit安装配置
1.安装条件 安装客户端时,需要先安装Git,再安装TortoiseGit。去相应网站下载对应系统位数的安装包进行安装。安装Git时,选项一路默认即可。在安装TortoiseGit时,如遇到如下选项:这里建议选择第二个。如果选择第一个,在安装后配置git的时候就需要注意一些东西,如果选择第二项则git的连接都是通过ssh完成,后续配置简单一些。设置用户名和邮箱安
2017-07-12 22:42:54
967
转载 Git的使用
一:Git是什么? Git是目前世界上最先进的分布式版本控制系统。二:SVN与Git的最主要的区别? SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以首先要从中央服务器哪里得到最新的版本,然后干活,干完后,需要把自己做完的活推送到中央服务器。集中式版本控制系统是必须联网才能工作,如果在局域网还可以,带宽够大,速度够快
2017-07-11 07:33:37
362
原创 数据库引擎浅识
1.什么是数据引擎 数据库引擎是用于存储、处理和保护数据的核心服务。利用数据库引擎可控制访问权限并快速处理事务,从而满足企业内大多数需要处理大量数据的应用程序的要求。2.MySQL常见数据引擎 ISAM:ISAM是一个定义明确且历经时间考验的数据表格管理方法,它在设计之时就考虑到 数据库被查询的次数要远大于更新的次数。因此,ISAM执行读取操作的速度很快,而且不占用大量的
2017-07-10 23:23:34
320
原创 数据库字段类型与Java中数据类型对应
最近做的一个项目中,做数据库表与实体类映射时,在XML文件中编写代码时,发现Oracle等数据库中字段和Java等语言中数据类型应该是一一对应的,对应如下:SQL数据类型JDBC类型代码标准的Java类型Oracle扩展的Java类型 1.0标准的JDBC类型: CHAR
2017-07-09 00:13:07
2960
原创 Spring MVC+Mybatis简单使用
最近接触的一个工程采用了Spring MVC框架,使用Mybatis实现数据库表与实体对象的映射模型,配置简单,操作方便。 1.Controller控制层 在这一层我们定义一些方法进行业务处理,涉及数据操作,会去调用Service层的一些方法。 2.Service层 这一层,我们定义一些服务和功能操作接口,并实现各个service接口impl类,在实现类里面注
2017-07-05 23:18:37
361
原创 equals与==的简单分析
Java中所有的类一个终极父类是Object,Object中有equals方法,Object中equals方法和==其实都是用于比较对象是不是同一个对象,但是你可以根据实际需要,重写这个方法,如String这个类就重写了equals的方法,只是比较对象实际内容是不是相同,而==比较的是String对象的值,即地址值引用是否是同一对象。1.ObjectObject a = new Objec
2017-07-04 07:42:54
224
原创 初接触SSM(Spring+Spring MVC+Mybatis)
工作之前一直做着Android,这几年Android市场趋于饱和,而工作后,使用的还是Java,只是做着Java后台Web工程,这时候那些框架的接触与学习也就不可避免。工作需要,接触了Spring、Spring MVC与Mybatis,初步接触这几个框架,就简单介绍并就工程结构进行分析与研究。1.Spring Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的J
2017-07-02 21:45:58
508
原创 Tomcat安装
1.Tomcat Tomcat是一款免费开源的Web服务器,在Java Web相关项目中应用较多,部署起来较为简单,安装起来也不麻烦。2.Tomcat安装 安装Tomcat之前,需要安装好jdk等工具,通过win+r打开Dos窗口,输入java -version或者javac等命令,来判断jdk是否安装成功。 (1)http://tomcat.apache.org/官网下载
2017-06-29 17:20:00
412
转载 A summary: how to use bit manipulation to solve problems easily and efficiently
WikiBit manipulation is the act of algorithmically manipulating bits or other pieces of data shorter than a word. Computer programming tasks that require bit manipulation include low-level device
2017-05-10 18:31:28
417
原创 伪代码的阅读与书写规范
伪代码的使用 Usage of Pseudocode伪代码(Pseudocode)是一种算法描述语言。使用为代码的目的是为了使被描述的算法可以容易地以任何一种编程语言(Pascal, C, Java, etc)实现。因此,伪代码必须结构清晰,代码简单,可读性好,并且类似自然语言。下面介绍一种类Pascal语言的伪代码的语法规则。伪代码的语法规则在伪代
2017-05-03 16:11:30
14593
请问有没有研究android插件化框架的大神
2016-05-19
TA创建的收藏夹 TA关注的收藏夹
TA关注的人