自定义Android IOC框架
IOC-控制反转(InversionofControl,英文缩写为IoC)是一个重要的面向对象编程的法则来削减计算机程序的耦合问题,也是轻量级的Spring框架的核心。控制反转一般分为两种类型,依赖注入(DependencyInjection,简称DI)和依赖查找(DependencyLookup)。这段百度对IOC框架的解释,对于Java开发者来讲最著名的IOC框架莫过于Spring,而在我们的
Tomcat集群后引发的...
https://www.imooc.com/article/17545《大型项目架构演进过程及思考的点》这篇手记,里面写的非常之详细。一期项目-Java从零到企业级电商项目实战碰到的各种问题简单理解为,在Tomcat集群下,各个Tomcat服务是分布式的。所以必须要解决业务逻辑碰到的各种分布式的问题。下https://docs.spring.io/spring-session/docs/curre
计算两个日期之间相隔天数
直接上传代码:importjava.util.Calendar;importjava.text.SimpleDateFormat;importjava.text.ParseException;publicclassCalendarDemo{publicstaticvoidmain(String[]args)throwsParseException{Calendarc=Calendar.getIns
CSS功能组件——3D点击动效按钮
样式.box{height:800px;text-align:center;}.box:after{display:inline-block;height:100%;content:'';vertical-align:middle;}/*重叠box-shadow*/.btn{display:inline-block;width:100px;height:36px;padding:8px;font-
《Effective Java》的前26条建议
《EffectiveJava》的前26条建议1.考虑用静态工厂方法代替构造器2.遇到有多个构造器参数时要考虑使用构建器3.用私有构造器或者枚举类型强化Singleton模式4.通过私有构造器强化不可实例化的能力5.避免创建不必要的对象6.消除过期的对象引用7.避免使用终结方法8.覆盖equals()方法时遵守通用约定9.覆盖equals时总是要覆盖hashCode()方法10.始终要覆盖toStr
[读书笔记]Javascript权威指南:类型,值和变量
计算机程序的运行需要对值(value)进行操作。在编程语言中,能够表示并操作的值的类型称作数据类型(type)。编程语言最基本的特性就是能够支持多种数据类型。当程序需要将值保存起来以备将来使用时,边将其赋值给一个变量(variable)变量是一个值的符号名称,可以通过名称来获得对值的引用。Javascript的数据类型分为两类:原始类型(primitivetype)和对象类型(objecttype
js学习笔记 3-01 面向对象的程序设计 ---创建对象
二、创建对象A)工厂模式functioncreatePerson(name,age,job){varo=newObject();o.name=name;o.age=age;o.job=job;o.sayName=function(){console.log(this.name)}returno;}varperson1=createPerson('chuqiao',29,'fengyun');var
HTML5 FormData文件上传
文件名:上传文件:上传functionuploadFileAction(){varformData=newFormData($("#form")[0]);//重点$.ajax({url:url,type:'POST',data:formData,async:false,cache:false,contentType:false,processData:false,success:function(
android:gravity 和 android:layout_Gr
android:gravity 是对该view中内容的限定.比如一个button上面的text.你可以设置该text相对于view的靠左,靠右等位置android:layout_gravity是用来设置该view相对与父view的位置比如一个button在linearlayout里,你想把该button放在linearlayout里靠左、靠右等位置就可以通过该属性设置.
有关JSON以及JSONP的总结
什么是JSON与开发语言无关,轻量级的数据格式。JSON采用key-value的形式形容数据,key必须为string类型,value可以为任何基本类型或数据结构。{"name":"怯金阁","age":21,"birthday":"1996-02-02","school":"哈尔滨学院","major":["软件工程","计算机科学与技术"],"has_girlfriend":false,"ca
新生代总结 JavaScript 运行机制解析
引言在一些面试中,我们或许会被问到这样的问题简述一下JavaScript的运行机制?还有可能会被问这样的代码setTimeout(function(){ console.log('定时器开始啦')});newPromise(function(resolve){ console.log('马上执行for循环啦'); for(vari=0;i
使用vagrant+宝塔 搭建本地虚拟开发环境
使用vagrant+宝塔搭建本地虚拟开发环境vagrant简介Vagrant是一个用来构建和管理虚拟机环境的工具。Vagrant有着易于使用的工作流并且专注于自动化降低了开发者搭建环境的时间提高了生产力。解决了“在我的机器上可以工作”的问题。使用Vagrant可以很方便的就建立起来一个虚拟环境而且可以模拟多台虚拟机这样我们平时还可以在开发机模拟分布式系统。如果团队有新员工加入只需要直接将已经打包好
PHP中操作任意精度大小的GMP扩展学习
对于各类开发语言来说,整数都有一个最大的位数,如果超过位数就无法显示或者操作了。其实,这也是一种精度越界之后产生的精度丢失问题。在我们的PHP代码中,最大的整数非常大,我们可以通过PHP_INT_MAX来查看。不过,当整数超过一定的位数之后,就会使用科学计数法来显示了,这个可不是我们想要的结果。别着急,GMP扩展就是专门用来应对这种情况的。GMP扩展是随PHP源码包一起发布的,在安装扩展之前需要系
找到一份满意的工作只需五步
相信很多前端开发者在面试过程中都会有这样的懊恼:“我怎么漏了讲这个?”“那个问题我居然卡壳了,真不应该!”在面试过程中,面试者们或多或少都会有一些紧张的情绪,这是无法避免的。而在回答面试官的问题时,因为某些技能或者知识点前期准备的并不完善,所以导致在面试过程中的表现力不是特别好,最终无缘大厂或是心仪的公司。那么问题来了!怎样准备一场尽量完美的前端面试,怎样才能让你在众多优秀的面试竞争者中脱颖而出呢