搜索到与相关的文章
编程技术

JVM垃圾回收机制总结(2) :基本算法概述

1、引用计数收集器(ReferenceCounting)引用计数是垃圾收集的早期策略。在这种方法中,堆中每一个对象都有一个引用计数。一个对象被创建了,并且指向该对象的引用被分配给一个变量,这个对象的引用计数被置为1。当任何其他变量被赋值为对这个对象的引用时,计数加1。当一个对象的引用超过了生存期或者被设置一个新的值时,对象的引用计数减1。任何引用计数为0的对象可以被当作垃圾收集。当一个对象被垃圾收集的时候,它引用的任何对象计数值减1。在这种方法中,一个对象

系统 2019-08-29 21:59:34 2112

编程技术

一堂如何提高代码质量的培训课(3)

3)职责驱动设计和领域驱动设计前面我提到,当我们尝试写一些复杂功能的时候,我们把功能分解成一个个相对独立的函数。但是,应当将这些函数分配到哪个类中呢?也就是系统中的所有类都应当拥有哪些函数呢?或者说应当表现出哪些行为呢?答案就在这里:以职责为中心,根据职责分配行为。我们在分析系统时,首先是根据客户需求进行用例分析,然后根据用例绘制领域模式和分析模型,整个系统最主要的类就形成了。通过以上分析形成的类,往往和现实世界的对象是对应的。正因为如此,软件世界的这些类

系统 2019-08-29 21:58:56 2112

编程技术

如何在spring框架中解决多数据源的问题

在我们的项目中遇到这样一个问题:我们的项目需要连接多个数据库,而且不同的客户在每次访问中根据需要会去访问不同的数据库。我们以往在spring和hibernate框架中总是配置一个数据源,因而sessionFactory的dataSource属性总是指向这个数据源并且恒定不变,所有DAO在使用sessionFactory的时候都是通过这个数据源访问数据库。但是现在,由于项目的需要,我们的DAO在访问sessionFactory的时候都不得不在多个数据源中不断

系统 2019-08-29 21:58:55 2112

编程技术

虚拟机问题

本人在试图编写自己的android的service的过程中可谓历尽艰难险阻。目前大业未成,但源码却中道蹦阻,今又重新下载代码,排除吾个人之原因。但此时还是想分享一下本人在编写的过程中遇到的问题,以慰过去,一展来者。虚拟机问题

系统 2019-08-12 09:30:14 2112

Python

python学习手册笔记——39.元类

00.比99%的用户所担心的魔力要更深。如果你犹豫是否需要他们,那你不需要它们(真正需要元类的人,能够确定地直到需要它们,并且不需要说明为什么需要)。“因为某物很酷”而编写它,似乎不是一种合理的判断,除非你在做试验或者学习。01.元类就是用来创建类的“东西”。你创建类就是为了创建类的实例对象。02.03.元类的主要目的就是为了当创建类时能够自动地改变类。04.元类修改:内省属性:__class__和__dict__这样的特殊属性允许我们查看Python对象

系统 2019-09-27 17:57:31 2111

Python

解决Mac下使用python的坑

操作系统:macOSHighSierra10.13.3Python3.6因为此版本自带python2.7,就下载并安装了anaconda2的版本,结果使用的时候系统自带的python和anaconda里的python冲突,也就是装包的时候只在一处装了,另一处却不能使用。因此要配置环境变量,替代到系统自带的版本。python2.7总会发生中文字体乱码的情况,果断放弃,准备使用anaconda3.1.安装anaconda3在官网下载,并安装,直接都是下一步。2

系统 2019-09-27 17:57:25 2111

Python

Python 字典与字符串的互转实例

字典转换为字符串if__name__=='__main__':a={'a':1,'b':2,'c':3}b=str(a)print(type(b))输出结果为:---------------------------------------------------------------字符串转换为字典if__name__=='__main__':a="{'a':1,'b':2,'c':3}"b=eval(a)print(type(b))输出结果为:以上这篇

系统 2019-09-27 17:57:02 2111

Python

python基础语法

第一个Python程序交互式编程交互式编程不需要创建脚本文件,是通过Python解释器的交互模式进来编写代码。linux上你只需要在命令行中输入Python命令即可启动交互式编程,提示窗口如下:$pythonPython2.7.6(default,Sep92014,15:04:36)[GCC4.2.1CompatibleAppleLLVM6.0(clang-600.0.39)]ondarwinType“help”,“copyright”,“credits”

系统 2019-09-27 17:56:51 2111

Python

Python:计算欧氏距离的两种写法

使用列表List作为样本点表示的欧氏距离计算方法:importmath#计算两点之间的距离defeucliDist(A,B):returnmath.sqrt(sum([(a-b)**2for(a,b)inzip(A,B)]))X=[1,2,3,4]Y=[0,1,2,3]print(eucliDist(X,Y))使用np.array作为样本点表示的欧氏距离计算方法:importnumpyasnp#计算两点之间的距离defeucliDist(A,B):retu

系统 2019-09-27 17:56:21 2111