Hi_Amos
坚持每天都在进步!!
摘要: 一.什么是redis ?其官方介绍是:Redisiswhatiscalledakey-valuestore,oftenreferredtoasaNoSQLdatabase.Redis is an open source, BSD licensed, advancedkey-value store.I... 阅读全文
posted @ 2014-05-19 02:54 Hi_Amos 阅读(1841) 评论(0) 推荐(2) 编辑
摘要: 我国使用的手机号码为11位,其中各段有不同的编码方向:前3位———网络识别号;第4-7位———地区编码;第8-11位———用户号码。中国移动134、135、136、137、138、139、150、151、152、157、158、159、147、182、183、184、187、188.178(4G)中... 阅读全文
posted @ 2014-05-17 14:54 Hi_Amos 阅读(1236) 评论(0) 推荐(0) 编辑
摘要: 什么是Genymotion?Genymotion是一套完整的工具,它提供了Android虚拟环境。它简直就是开发者、测试人员、推销者甚至是游戏玩家的福音。Genymotion支持Windows、Linux和Mac OS等操作系统,容易安装和使用:按简单的安装过程,选择一款Android虚拟设备,开启... 阅读全文
posted @ 2014-05-17 01:14 Hi_Amos 阅读(8520) 评论(0) 推荐(0) 编辑
摘要: 1.切换目录git checkout step-12npm start2.效果图这里在点击右边的缩略图时,会有一个很明显的从下向上的动画过程.3.代码实现:step11和step12之间的代码差异:https://github.com/angular/angular-phonecat/compare... 阅读全文
posted @ 2014-05-16 00:01 Hi_Amos 阅读(3572) 评论(0) 推荐(2) 编辑
摘要: 1.切换目录git checkout step-11npm start2.效果图效果图和step 10的没有什么差别,这里主要的改动都是代码,代码做了很多优化,这里效果图就不再贴出来了.3.实现代码step-10和step-11之间的差别:https://github.com/angular/ang... 阅读全文
posted @ 2014-05-15 01:40 Hi_Amos 阅读(878) 评论(0) 推荐(0) 编辑
摘要: 本文主要通过介绍ng-click方法来对angularjs中的事件处理方法做个了解.1.切换目录git checkout step-10npm start2.效果点击右边的小图片,那么左边框中将显示大图片,示例如下:3.代码实现查看step-9和step-10之间的代码差异:https://gith... 阅读全文
posted @ 2014-05-15 00:42 Hi_Amos 阅读(8890) 评论(0) 推荐(0) 编辑
摘要: 1.切换目录,启动项目git checkout step-9npm start2.需求:格式化要显示的数据.比如要将true-->yes,false-->no,这样相互替换.3.效果:4.代码实现:这里主要是使用filter过滤器来进行数据过滤,这里只是在前端进行数据过滤,原始数据是不发生变化的.$... 阅读全文
posted @ 2014-05-13 02:07 Hi_Amos 阅读(1786) 评论(0) 推荐(0) 编辑
摘要: 1.切换分支amosli@amosli-pc:~/develop/angular-phonecat$ git checkout step-8 #切换分支amosli@amosli-pc:~/develop/angular-phonecat$ npm start #启动项目2.需求:将step 7 中... 阅读全文
posted @ 2014-05-13 01:20 Hi_Amos 阅读(575) 评论(0) 推荐(0) 编辑
摘要: 1.切换分支到step7,并启动项目git checkout step-7npm start2.需求:在步骤7之前,应用只给我们的用户提供了一个简单的界面(一张所有手机的列表),并且所有的模板代码位于index.html文件中。下一步是增加一个能够显示我们列表中每一部手机详细信息的页面。可以先看一... 阅读全文
posted @ 2014-05-13 00:51 Hi_Amos 阅读(2289) 评论(0) 推荐(0) 编辑
摘要: 接上一篇文章,本文将主要介绍angularjs中的模板链接,和图像显示?首先,切换分支,启动项目:git checkout step-6npm start1.效果相较于前一篇文章,明显感觉多了图片,那么这些图片是怎么加载进去的呢?这里图片各不一样,如果用传统的方式去加载图片可能要写很多代码,这里看一... 阅读全文
posted @ 2014-05-09 02:12 Hi_Amos 阅读(3864) 评论(0) 推荐(0) 编辑
摘要: 前言:本文接前一篇文章,主要介绍什么是XHR,AJAX,DI,angularjs中如何使用XHR和DI.1.切换工具目录git checkout -f step-5 #切换分支npm start #启动项目2.什么是XHR和依赖注入(Dependency Injection)?1)什么是XHR?XH... 阅读全文
posted @ 2014-05-09 01:32 Hi_Amos 阅读(2541) 评论(0) 推荐(1) 编辑
摘要: 1.切换工作目录git checkout step-4 #切换分支,切换到第4步npm start #启动项目2.代码app/index.htmlSearch: Sort by: {{phone.name}} {{phone.snippet}} app/controllers.... 阅读全文
posted @ 2014-05-07 01:16 Hi_Amos 阅读(1606) 评论(0) 推荐(1) 编辑
摘要: 1.AngularJS 模板---step2:mvc(Model-View-Controller)模式在后端用的比较多,在前端也是一样的常用;在AngularJS中,一个视图是模型通过HTML模板渲染之后的映射。这意味着,不论model什么时候发生变化,AngularJS会实时更新结合点,随之更新视... 阅读全文
posted @ 2014-05-06 02:21 Hi_Amos 阅读(1937) 评论(0) 推荐(0) 编辑
摘要: 接下来一系列的文章都是学习https://docs.angularjs.org/tutorial的笔记,主要学习的angular-phonecat项目的实现,来介绍angularjs的使用.1.下载angular-phonecat使用git clone phonecat:git clone --de... 阅读全文
posted @ 2014-05-06 01:22 Hi_Amos 阅读(6986) 评论(1) 推荐(0) 编辑
摘要: karma启动时出现了很多问题:1.安装karma前提条件安装karma首先要安装nodejs,npm然后才可以安装karma.nodejs,npm的安装过程可以参考文章:Angularjs学习---angularjs环境搭建,ubuntu 12.04下安装nodejs、npm和karma2.安装k... 阅读全文
posted @ 2014-05-06 00:39 Hi_Amos 阅读(2056) 评论(0) 推荐(0) 编辑
摘要: 1.下载angularjs进入其官网下载:https://angularjs.org/‎,建议下载最新版的:https://ajax.googleapis.com/ajax/libs/angularjs/1.3.0-beta.7/angular.js所有版本:https://code.angular... 阅读全文
posted @ 2014-04-29 02:41 Hi_Amos 阅读(3655) 评论(5) 推荐(1) 编辑
摘要: 1.什么是阻塞队列?所谓队列,遵循的是先进先出原则(FIFO),阻塞队列,即是数据共享时,A在写数据时,B想读同一数据,那么就将发生阻塞了.看一下线程的四种状态,首先是新创建一个线程,然后,通过start方法启动线程--->线程变为可运行可执行状态,然后通过数据产生共享,线程产生互斥---->线程状... 阅读全文
posted @ 2014-04-28 01:50 Hi_Amos 阅读(573) 评论(0) 推荐(1) 编辑
摘要: 本文将要介绍的内容都是Java5中的新特性,一个是倒计时记数器---CountDownLatch,另一个是用于线程间数据交换的Exchanger.一.CountDownLatch1.什么是CountDownLatch?倒计时计数器,调用CountDownLatch对象的CountDown()方法就将... 阅读全文
posted @ 2014-04-28 00:45 Hi_Amos 阅读(1367) 评论(0) 推荐(0) 编辑
摘要: 线程同步工具类,CyclicBarrier日常开发较少涉及,这里只举一个例子,以做备注.N个人一块出去玩,相约去两个地方,CyclicBarrier的主要作用是等待所有人都汇合了,才往下一站出发.1.效果如下:2.实现代码:package com.amos.concurrent;import jav... 阅读全文
posted @ 2014-04-25 01:49 Hi_Amos 阅读(353) 评论(0) 推荐(0) 编辑
摘要: 1.什么是Semaphore?A counting semaphore. Conceptually, a semaphore maintains a set of permits. Each acquire blocks if necessary until a permit is availab... 阅读全文
posted @ 2014-04-25 01:09 Hi_Amos 阅读(1260) 评论(0) 推荐(1) 编辑
摘要: 一.需求实现线程间的通信,主线程循环3次后,子线程2循环2次,子线程3循环3次,然后主线程接着循环3次,如此循环3次.即:A->B->C---A->B->C---A->B->C二.实现1.分析在前面文章java核心知识点学习----多线程并发之线程间的通信,notify,wait,曾实现过需求两个线... 阅读全文
posted @ 2014-04-24 01:56 Hi_Amos 阅读(583) 评论(0) 推荐(0) 编辑
摘要: 理论知识很枯燥,但这些都是基本功,学完可能会忘,但等用的时候,会发觉之前的学习是非常有意义的,学习线程就是这样子的.1.如何创建锁?Lock lock = new ReentrantLock();2.如何使用锁?可以参看Lock文档,其使用格式如下:class X { private final... 阅读全文
posted @ 2014-04-23 22:35 Hi_Amos 阅读(1312) 评论(0) 推荐(0) 编辑
摘要: 前面已经指出通过实现Runnable时,Thread类的作用就是将run()方法包装成线程执行体,那么是否可以直接把任意方法都包装成线程执行体呢?Java目前不行,但其模仿者C#中是可以的.Callabel接口可以看成是Runnable接口的增强版,只不过其线程执行体call()方法比run方法更加... 阅读全文
posted @ 2014-04-22 01:39 Hi_Amos 阅读(1031) 评论(0) 推荐(0) 编辑
摘要: 线程池是多线程学习中需要重点掌握的.系统启动一个新线程的成本是比较高的,因为它涉及与操作系统交互.在这种情形下,使用线程池可以很好的提高性能,尤其是当程序中需要创建大量生存期很短暂的线程时,更应该考虑使用线程池.一.如何创建线程池??在Java5之前,线程池都是开发才手动实现的,从Java5开始,J... 阅读全文
posted @ 2014-04-21 23:50 Hi_Amos 阅读(468) 评论(0) 推荐(0) 编辑
摘要: 线程内的数据共享与对象独立,举例:张三给李四转钱,开启A线程去执行转钱这个动作,刚好同时王五给赵六转钱,开启B线程去执行转钱,因为是调用的同样一个动作或者说对象,所以如果不能保证线程间的对象独立,那么很有可能发生,张三给李四转钱时把王五转给赵六的转钱一块提交了,而王五转钱整个动作还未完成,那么就造成... 阅读全文
posted @ 2014-04-21 01:06 Hi_Amos 阅读(4036) 评论(0) 推荐(1) 编辑
摘要: 需求:设计4个线程,其中两个线程每次对j增加1,另外两个线程对j减少1.实现数据共享的几种方式比较:1.使用同一个runnable对象如果每个线程执行的代码相同,那么可以使用同一个runnable对象,这个runnable有那个共享数据,例如,卖票系统就是这么做的.如下例所示:... publ... 阅读全文
posted @ 2014-04-21 01:06 Hi_Amos 阅读(4845) 评论(0) 推荐(0) 编辑
摘要: 1.需求:子线程循环10次,主线程循环100次,这样间隔循环50次.2.实现:package com.amos.concurrent;/** * @ClassName: ThreadSynchronizedConnect * @Description: 用wait,notify实现线程间的通信,需求... 阅读全文
posted @ 2014-04-20 17:43 Hi_Amos 阅读(1168) 评论(0) 推荐(0) 编辑
摘要: 1.什么是线程同步?多线程编程是很有趣的事情,它很容易出现"错误情况",这种情况不是由编码造成的,它是由系统的线程调度造成的,当使用多个线程来访问同一个数据时,很容易出现"偶然情况",出现线程安全问题.线程安全问题最常见的就是银行取钱问题,铁路售票问题,必须保证甲方在操作数据时候,己方不会影响甲方.... 阅读全文
posted @ 2014-04-20 15:57 Hi_Amos 阅读(799) 评论(1) 推荐(0) 编辑
摘要: 多线程并发就像是内功,框架都像是外功,内功不足,外功也难得精要.1.进程和线程的区别一个程序至少有一个进程,一个进程至少有一个线程.用工厂来比喻就是,一个工厂可以生产不同种类的产品,操作系统就是工厂,产品就是进程,工人就是线程.工厂----->操作系统产品----->进程工人---->线程一个工厂可... 阅读全文
posted @ 2014-04-18 02:01 Hi_Amos 阅读(1977) 评论(0) 推荐(3) 编辑
摘要: 最近发现自己学习能力变慢了,想来想去还是发现是因为自己Java基础没有打扎实,接下来的一系列文章将主要记录自己对于Java的最基础知识点的学习.一.equals和==的比较 先看例子:package com.amos;/** * @ClassName: EqualTest * @Descriptio... 阅读全文
posted @ 2014-04-15 00:15 Hi_Amos 阅读(1411) 评论(0) 推荐(0) 编辑
摘要: 解决方法为将selenium-server-standalone-2.37.0.jar升级至selenium-server-standalone-2.41.0.jar即可。下载地址:http://selenium-release.storage.googleapis.com/2.41/selenium-server-standalone-2.41.0.jar这里是因为更新firefox所导致的问题,从27更新到28.0所致。错误如下:WARN , HHH000409: Using org.hibernate.id.UUIDHexGenerator which does not generate 阅读全文
posted @ 2014-04-02 10:02 Hi_Amos 阅读(2989) 评论(0) 推荐(0) 编辑
摘要: 1.常用页面布局效果图:代码:css css常用布局 css常用布局 css常用布局 css常用布局 css常用布局 css常用布局2.div照片布局效果图:代码:Insert title here 足球宝贝! 这里name是img的孩子,用的position是的绝对位置,但img是相对位置,所以这里将文字显示到了图片上面.3.div float 和postion效果图:代码:position aaa bbb ccc 注:布局分为相对布局和绝对布局,相对布局实质上还是... 阅读全文
posted @ 2014-03-31 01:14 Hi_Amos 阅读(1057) 评论(0) 推荐(0) 编辑
摘要: 一.mvc模式介绍下图是常用的mvc分层模式:项目中的包命名规则,一般如下:com.amos.domain 封装JavaBean,一般我喜欢用model命名这个包com.amos.dao 封装dao层com.amos.dao.daoimpl 实现dao层接口com.amos.service 封装service层com.amos.service.serviceiml 实现service层接口com.amos.web.controller业务逻辑层com.amos.web.listener 监听器com.amos.web.filter 过滤器com.amos.utils 存放工具类com.amo. 阅读全文
posted @ 2014-03-22 02:12 Hi_Amos 阅读(1695) 评论(2) 推荐(0) 编辑
摘要: 网上找了很久查询objectid的方法都是错的,用mongovue能查询出来,但就是用java不知道怎么查询1.mongovue里的查询方式:{"_id" : ObjectId("5326bfc0e6f780b21635248f")}2.纯mongodb里的查询方式:db.collect.find({ "_id" : ObjectId("5326bfc0e6f780b21635248f") })3.java里的查询方式:import org.bson.types.ObjectId;public DBObject f 阅读全文
posted @ 2014-03-21 20:10 Hi_Amos 阅读(6643) 评论(0) 推荐(0) 编辑
摘要: 一.需求如题,用jsp实现一个超简单的网页计算器.二.实现1.效果图1)初始界面:2)随便输入两个数进行相乘:3)当除数为零时提示报错:2.代码Calculator.javapackage com.amos.model;import java.math.BigDecimal;/** * @ClassName: Calculator * @Description: 计算器* @author: amosli* @email:amosli@infomorrow.com* @date Mar 20, 2014 1:04:59 AM */public class Calculator { pri... 阅读全文
posted @ 2014-03-20 01:24 Hi_Amos 阅读(7997) 评论(0) 推荐(1) 编辑
摘要: 一.JavaBean1.什么是JavaBeanJavaBean是一个遵循特定写法的Java类,它通常具有如下特点:>>这个Java类必须具有一个无参的构造函数>>属性必须私有化>>私有化的属性必须通过public类型的方法暴露给其它程序,并且方法的命名也必须遵守一定的命名规范。虽然Sun公司在定义JavaBean规范时,允许Java开发人员把JavaBean设计得可以像Swing组件一样功能强大,但在实际的J2EE开发中,通常只使用到以上JavaBean最基本的特性:JavaBean在J2EE开发中,通常用于封装数据,对于遵循以上写法的JavaBean组件, 阅读全文
posted @ 2014-03-19 01:40 Hi_Amos 阅读(2609) 评论(0) 推荐(0) 编辑
摘要: 一.如何查找JSP页面中的错误JSP页面中的JSP语法格式有问题,导致其不能被翻译成Servlet源文件,JSP引擎将提示这类错误发生在JSP页面中的位置(行和列)以及相关信息。JSP页面中的JSP语法格式没有问题,但被翻译成的Servlet源文件中出现了Java语法问题,导致JSP页面翻译成的Servlet源文件不能通过编译,JSP引擎也将提示这类错误发生在JSP页面中的位置(行和列)以及相关信息。JSP页面翻译成的Servlet程序在运行时出现异常,这与普通Java程序的运行时错误完全一样,Java虚拟机将提示错误发生在Servlet源文件中的位置(行和列)以及相关信息。二.JSP和Ser 阅读全文
posted @ 2014-03-14 23:33 Hi_Amos 阅读(1639) 评论(0) 推荐(0) 编辑
摘要: 一.JSP运行原理每个JSP 页面在第一次被访问时,WEB容器都会把请求交给JSP引擎(即一个Java程序)去处理。JSP引擎先将JSP翻译成一个_jspServlet(实质上也是一个servlet) ,然后按照servlet的调用方式进行调用。由于JSP第一次访问时会翻译成servlet,所以第一次访问通常会比较慢,但第二次访问,JSP引擎如果发现JSP没有变化,就不再翻译,而是直接调用,所以程序的执行效率不会受到影响。JSP引擎在调用JSP对应的_jspServlet时,会传递或创建9个与web开发相关的对象供_jspServlet使用。JSP技术的设计者为便于开发人员在编写JSP页面时获 阅读全文
posted @ 2014-03-14 22:17 Hi_Amos 阅读(1211) 评论(3) 推荐(0) 编辑
摘要: 一.JSP简单介绍1.什么是JSP?JSP全称是Java Server Pages,它和servle技术一样,都是SUN公司定义的一种用于开发动态web资源的技术。JSP这门技术的最大的特点在于,写jsp就像在写html,但它相比html而言,html只能为用户提供静态数据,而Jsp技术允许在页面中嵌套java代码,为用户提供动态数据。注:关于eclipse jsp 智能提示在使用eclipse开发时,较新版本的往往没有智能提示,我这里是4.3版本的j2ee eclipse,是有jsp files选项的,如下图所示:网上很多方法都已经过时,这里解决方法为:在项目的Properties-> 阅读全文
posted @ 2014-03-13 23:51 Hi_Amos 阅读(1583) 评论(0) 推荐(0) 编辑
摘要: 一、五大布局(layout)android中的用五大布局:LinearLayout (线性布局)、AbsoluteLayout(绝对布局)、RelativeLayout(相对布局)、TableLayout(表格布局)、FrameLayout(帧布局)1.LinearLayout 线性布局,将模块以线性进行排序LinearLayout以你为它设置的垂直或水平的属性值,来排列所有的子元素。所有的子元素都被堆放在其它元素之后,因此一个垂直列表的每一行只会有 一个元素,而不管他们有多宽,而一个水平列表将会只有一个行高(高度为最高子元素的高度加上边框高度)。LinearLayout保持子元素之间的间隔以 阅读全文
posted @ 2014-03-05 18:53 Hi_Amos 阅读(1757) 评论(0) 推荐(0) 编辑