Class.forName()主要功能Class.forName(xxx.xx.xx)返回的是一个类,Class.forName(xxx.xx.xx)的作用是要求JVM查找并加载指定的类,也就是说JVM会执行该类的静态代码段。下面,通过解答以下三个问题的来详细讲解下Class.forName()的用法。①new和Class.forName()有什么区别和newInstance的用法?Aa=(A)Class.forName(“pacage.A”).newInstance();Aa=newA();这两种实例化的方式是一样的效果。上述的例子中都是创建了一个...
继续阅读 >
分类:编程语言
2020
10-08
10-08
Vue scoped及deep使用方法解析
众所周知,在组件中给style标签添加属性scoped属性可以避免组件内样式对外界造成污染,scoped使得组件内的样式变成局域样式,只作用于当前组件。原理如下-------在编译组件的时候,如果当前组件内style标签上有scoped属性,那么会在当前所有标签上添加一个【data-v-hash】属性,而当前样式表内的所有末尾选择器后面也会加上该属性,那么就使得当前组件内的样式只会作用于当前组件内的元素。值得注意的是,当父组件,子组件同时使...
继续阅读 >
2020
10-08
10-08
Python 日期与时间转换的方法
问题你需要执行简单的时间转换,比如天到秒,小时到分钟等的转换。解决方案为了执行不同时间单位的转换和计算,请使用datetime模块。比如,为了表示一个时间段,可以创建一个timedelta实例,就像下面这样:>>>fromdatetimeimporttimedelta>>>a=timedelta(days=2,hours=6)>>>b=timedelta(hours=4.5)>>>c=a+b>>>c.days2>>>c.seconds37800>>>c.seconds/360010.5>>>c.total_seconds()/360058.5>>>如果你...
继续阅读 >
2020
10-08
10-08
Python 执行矩阵与线性代数运算
问题你需要执行矩阵和线性代数运算,比如矩阵乘法、寻找行列式、求解线性方程组等等。解决方案NumPy库有一个矩阵对象可以用来解决这个问题。矩阵类似于3.9小节中数组对象,但是遵循线性代数的计算规则。下面的一个例子展示了矩阵的一些基本特性:>>>importnumpyasnp>>>m=np.matrix([[1,-2,3],[0,4,5],[7,8,-9]])>>>mmatrix([[1,-2,3],[0,4,5],[7,8,-9]])>>>#Returntranspose>>>m.Tmatrix([[1,0,7...
继续阅读 >
2020
10-08
10-08
Python实现数字的格式化输出
问题你需要将数字格式化后输出,并控制数字的位数、对齐、千位分隔符和其他的细节。解决方案格式化输出单个数字的时候,可以使用内置的format()函数,比如:>>>x=1234.56789>>>#Twodecimalplacesofaccuracy>>>format(x,'0.2f')'1234.57'>>>#Rightjustifiedin10chars,one-digitaccuracy>>>format(x,'>10.1f')'1234.6'>>>#Leftjustified>>>format(x,'<10.1f')'1234.6'>>>#Centered>>>format(x,'...
继续阅读 >
2020
10-08
10-08
Python实现一个简单的递归下降分析器
问题你想根据一组语法规则解析文本并执行命令,或者构造一个代表输入的抽象语法树。如果语法非常简单,你可以不去使用一些框架,而是自己写这个解析器。解决方案在这个问题中,我们集中讨论根据特殊语法去解析文本的问题。为了这样做,你首先要以BNF或者EBNF形式指定一个标准语法。比如,一个简单数学表达式语法可能像下面这样:expr::=expr+term | expr-term | &n...
继续阅读 >
2020
10-08
10-08
Vue中computed及watch区别实例解析
计算属性computed:1.支持缓存,只有依赖数据发生改变,才会重新进行计算2.不支持异步,当computed内有异步操作时无效,无法监听数据的变化3.computed属性值会默认走缓存,计算属性是基于它们的响应式依赖进行缓存的,也就是基于data中声明过或者父组件传递的props中的数据通过计算得到的值4.如果一个属性是由其他属性计算而来的,这个属性依赖其他属性,是一个多对一或者一对一,一般用computed5.如果computed属性属性值是函...
继续阅读 >
2020
10-08
10-08
Vue数组响应式操作及高阶函数使用代码详解
数组的响应式操作//this.letters.push('123');//在末尾添加一个元素//this.letters.pop();//从末尾删除一个元素//this.letters.unshift('111');//在开端添加一个元素//this.letters.shift();//从开端删除一个元素//this.letters.splice(1,2);//从下标为1的元素开始删除两个元素//this.letters.splice(1,2,'777','888');//从下标为1的元素开始删除两个元素,并插入一个新元素//this.letters.splice(1,0,'777','888');//在下标为...
继续阅读 >
2020
10-08
10-08
Python 如何在字符串中插入变量
问题你想创建一个内嵌变量的字符串,变量被它的值所表示的字符串替换掉。解决方案Python并没有对在字符串中简单替换变量值提供直接的支持。但是通过使用字符串的format()方法来解决这个问题。比如:>>>s='{name}has{n}messages.'>>>s.format(name='Guido',n=37)'Guidohas37messages.'>>>或者,如果要被替换的变量能在变量域中找到,那么你可以结合使用format_map()和vars()。就像下面这样:>>>name='Guido'...
继续阅读 >
2020
10-08
10-08
Java Method类及invoke方法原理解析
在说Method和invoke的使用之前我们来看一个小例子,如果看懂了那就ok了publicclassMethodInvoke{classAnimal{publicvoidprint(){System.out.println("Animal.print()");}}classCatextendsAnimal{@Overridepublicvoidprint(){System.out.println("Cat.print()");}}publicstaticvoidmain(String[]args)throwsException{MethodanimalMethod=Animal.class.getDeclaredMethod("prin...
继续阅读 >
2020
10-08
10-08
PHP生成图表pChart的示例解析
pChart是一个开源的图表生成库,主要涉及3个Class:pChart.class,pData.class,pCache.class,可生成20多种简单或复杂的图表,支持PNG,JPG,GIF通用图片格式。数据源可以来自于Database,CSV,当然也可以手写。使用该程序PHP需要开启GD服务,先来看看pChart的工作流程:主要分为三步:*读取用于生成图表数据(数据库、文件)*设计图表样式(圆角、底色等)*制作标签、题目、图例并生成图表下面看一个简单的柱状图表:代...
继续阅读 >
2020
10-08
10-08
使用Docker搭建Redis主从复制的集群
在主从复制模式的集群里,主节点一般是一个,从节点一般是两个或多个,写入主节点的数据会被复制到从节点上,这样一旦主节点出现故障,应用系统能切换到从节点去读写数据,这样能提升系统的可用性。而且如果再采用主从复制模式里默认的读写分离的机制,更能提升系统的缓存读写性能。所以对性能和实时性不高的系统而言,主从复制模式足以满足一般的性能和安全性方面的需求。1概述主从复制模式在实际应用中,如果有相应的设置,在向...
继续阅读 >
2020
10-08
10-08
vue 组件简介
什么是组件?web的组件其实就是页面组成的一部分,好比是电脑中的每一个元件(如硬盘、键盘、鼠标),它是一个具有独立的逻辑和功能或界面,同时又能根据规定的接口规则进行相互融合,变成一个完整的应用。web页面就是由一个个类似这样的部分组成的,比如导航、列表、弹窗、下拉菜单等。页面只不过是这些组件的容器,组件自由组合形成功能完整的界面,当不需要某个组件,或者想要替换某个组件时,可以随时进行替换和删除,而不影响...
继续阅读 >
2020
10-08
10-08
基于php伪静态的实现方法解析
一直在做php的开发工作.在开发的过程中老早就听说了“伪静态”这一说。但是一直没有对其进行了解。今天终于下定决定要好好的了解下这方面的内容。首先,什么是伪静态:伪静态又名URL重写,是动态的网址看起来像静态的网址。换句话说就是,动态网页通过重写URL方法实现去掉动态网页的参数,但在实际的网页目录中并没有必要实现存在重写的页面。另外在补充两个名词解析静态网址:纯静态HTML文档,能使用filetype:htm查询到的网页动...
继续阅读 >
2020
10-08
10-08
PHP底层运行机制与工作原理详解
最近搭建服务器,突然感觉lamp之间到底是怎么工作的,或者是怎么联系起来?平时只是写程序,重来没有思考过他们之间的工作原理:PHP底层工作原理图1php结构从图上可以看出,php从下到上是一个4层体系①Zend引擎Zend整体用纯c实现,是php的内核部分,它将php代码翻译(词法、语法解析等一系列编译过程)为可执行opcode的处理并实现相应的处理方法、实现了基本的数据结构(如hashtable、oo)、内存分配及管理、提供了相应的api方法...
继续阅读 >
2020
10-08
10-08
Python打印不合法的文件名
问题你的程序获取了一个目录中的文件名列表,但是当它试着去打印文件名的时候程序崩溃,出现了UnicodeEncodeError异常和一条奇怪的消息——surrogatesnotallowed。解决方案当打印未知的文件名时,使用下面的方法可以避免这样的错误:defbad_filename(filename):returnrepr(filename)[1:-1]try:print(filename)exceptUnicodeEncodeError:print(bad_filename(filename))如果你有代码需要操作文件名或者将文件名传递...
继续阅读 >
2020
10-08
10-08
Java日志框架之logback使用详解
为什么使用logback记得前几年工作的时候,公司使用的日志框架还是log4j,大约从16年中到现在,不管是我参与的别人已经搭建好的项目还是我自己主导的项目,日志框架基本都换成了logback,总结一下,logback大约有以下的一些优点:内核重写、测试充分、初始化内存加载更小,这一切让logback性能和log4j相比有诸多倍的提升logback非常自然地直接实现了slf4j,这个严格来说算不上优点,只是这样,再理解slf4j的前提下会很容易理解l...
继续阅读 >
2020
10-08
10-08
Django+Uwsgi+Nginx如何实现生产环境部署
如何在生产上部署Django?Django的部署可以有很多方式,采用nginx+uwsgi的方式是其中比较常见的一种方式。uwsgi介绍uWSGI是一个Web服务器,它实现了WSGI协议、uwsgi、http等协议。Nginx中HttpUwsgiModule的作用是与uWSGI服务器进行交换。要注意WSGI/uwsgi/uWSGI这三个概念的区分。WSGI是一种Web服务器网关接口。它是一个Web服务器(如nginx,uWSGI等服务器)与web应用(如用Flask框架写的程序)通信的一种规范。uwsgi...
继续阅读 >
2020
10-08
10-08
Python 如何测试文件是否存在
问题你想测试一个文件或目录是否存在。解决方案使用os.path模块来测试一个文件或目录是否存在。比如:>>>importos>>>os.path.exists('/etc/passwd')True>>>os.path.exists('/tmp/spam')False>>>你还能进一步测试这个文件时什么类型的。在下面这些测试中,如果测试的文件不存在的时候,结果都会返回False:>>>#Isaregularfile>>>os.path.isfile('/etc/passwd')True>>>#Isadirectory>>>os.path.isdir('/etc/passwd...
继续阅读 >
2020
10-08
10-08
Python高并发解决方案实现过程详解
一.cdn加速简单说就是把静态资源放到别人服务器上全称:ContentDeliveryNetwork或ContentDdistributeNetwork,即内容分发网络基本思路:尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络,CDN系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的...
继续阅读 >
2020
10-08
10-08
Python如何执行精确的浮点数运算
问题你需要对浮点数执行精确的计算操作,并且不希望有任何小误差的出现。解决方案浮点数的一个普遍问题是它们并不能精确的表示十进制数。并且,即使是最简单的数学运算也会产生小的误差,比如:>>>a=4.2>>>b=2.1>>>a+b6.300000000000001>>>(a+b)==6.3False>>>这些错误是由底层CPU和IEEE754标准通过自己的浮点单位去执行算术时的特征。由于Python的浮点数据类型使用底层表示存储数据,因此你没办法去避免这样的误...
继续阅读 >
2020
10-08
10-08
Java 操作Properties配置文件详解
java中的properties文件是一种配置文件,主要用于表达配置信息,文件类型为*.properties,格式为文本文件,文件的内容是格式是"键=值"的格式,在properties文件中,可以用"#"来作注释,properties文件在Java编程中用到的地方很多,操作很方便。一、properties文件test.properties------------------------------------------------------##################################工商报表应用IcisReport的配置文件##日期:2006年11月2...
继续阅读 >
2020
10-08
10-08
Java内存模型知识详解
1.概述多任务和高并发是衡量一台计算机处理器的能力重要指标之一。一般衡量一个服务器性能的高低好坏,使用每秒事务处理数(TransactionsPerSecond,TPS)这个指标比较能说明问题,它代表着一秒内服务器平均能响应的请求数,而TPS值与程序的并发能力有着非常密切的关系。在讨论Java内存模型和线程之前,先简单介绍一下硬件的效率与一致性。2.硬件的效率与一致性由于计算机的存储设备与处理器的运算能力之间有几个数量级...
继续阅读 >
2020
10-08
10-08
three.js 制作动态二维码的示例代码
今天郭先生说一下用canvas解析图片流,然后制作一个动态二维码的小案例,话不多说先上图,这是郭先生的微信二维码哦!1.解析图片流canvas=document.createElement('canvas');//创建canvas画布content=canvas.getContext('2d');//获取画布的上下文canvas.width=310;//设置尺寸canvas.height=310;img=newImage();//创建一张图片img.src=require("../assets/images/base/wechat.png");//设置图片地址img.onload=()=...
继续阅读 >