- 博客(347)
- 资源 (7)
- 收藏
- 关注
原创 JavaWeb:Servlet知识点总结
浏览器与服务器通信的过程:客户端发送请求,由于要使用某种传输协议,所以在服务器这端,会有对应的连接器负责连接;Engine引擎分析处理传过来的url地址,截取出资源地址,去匹配配置文件中的,找到对应的servlet对象以及对应的资源文件,然后发回给浏览器。Servlet 执行以下主要任务:1)读取浏览器发送的显式的数据。这包括网页上的 HTML 表单,或自定义的 HTTP 客户端程
2017-06-06 18:42:18 1640
原创 RxAndroid的使用
1、被观察者发送数据,观察者接收数据,被观察者通过调用subscribe()方法和观察者进行绑定。2、核心是观察者模式和异步请求。3、rxandroid中存在一系列的操作符(此文没有讲解)被观察者Observable:处理复杂的业务逻辑1)首先获取一个被观察者对象Observable; 在什么时机获取一个被观察者对象;一般都是把网络请求的结果当做被观察者。2)Observa
2017-05-10 18:27:50 762
原创 Retrofit2使用总结
了解Retrofit2:1)其本质上就是对okHttp的封装,使用面向接口的方式进行网络请求。2)使用注解和动态代理,极大的简化网络请求的步骤。3)默认使用OKHttp处理网络请求,默认使用Gson解析(可以自定义)Retrofit2常用的注解接口:@Post:表示为post请求方式@Get:表示为get请求方式@FormUrlEncoded:以表单的形式提交请求参
2017-05-10 16:14:51 4269
原创 抽象类BaseActivity的封装
将BaseActivity设置为抽象类,其他子Activity继承BaseActivity,优点:1)简化子类代码复杂度(共性方法)通过继承机制,在基类中封装好默认需实现的共性方法,可以减少子类编写重复代码的工作量,使子类专注于自己的特有功能,也提高了代码可读性、可维护性。2) 强制规范子类行为通过将BaseActivity设置为抽象类,预先定义好需要实现的方法,强制子类实现相关方
2017-05-10 11:40:57 2726
原创 ButterKnife的使用
ButterKnife是一个应用于Android系统的View注入框架,可以减少大量的findViewById以及setOnClickListener代码优势:1) 代码清晰,可读性强。2) 简化Adapter中ViewHolder绑定。3) 运行时不会影响APP效率,使用配置方便。4) View绑定和Click事件处理功能,简化代码,提高开发效率。配置:1
2017-05-09 16:23:40 2897
原创 Dagger2的使用总结
Dagger是为Android和Java平台提供的一个完全静态的,在编译时进行依赖注入的框架,原来是由Square公司维护的然后现在把这堆东西扔给Google维护了。Dagger解决了基于反射带来的开发和性能上的问题(因为Dagger并没有用反射来做依赖注入)说了那么多,其实就是告诉我们这家伙可以用来做依赖注入哦。依赖注入:我们在做项目时,经常需要在一个对象里去创建另一个对象的实例,这种行为是
2017-05-08 17:48:08 10458 2
原创 20170508 Context的特点
你的人生无论面临何种状况,请以积极的态度对待,生活总会变好的。面试之前是需要好好准备,认真对待。抱着谦虚,学习的态度去面试,赞同别人的观点,但也要提出自己的看法。有些问题 面试官也不知道答案的。门门通不如一门精。以后工作一定要多用点心。如果有不足的地方,就去补课;生死之外皆是小事,相信自己一定能找到工作的。面试技巧:(有些话要想好怎么说)1.自
2017-05-08 10:40:03 835
原创 Java抽象类及子类方法的调用顺序
结论:1) 实例化子类时必须先实例化父类;2) 抽象类中的方法调用子类实现的抽象方法方法3) 抽象类可以在子类未实例化时调用子类实现的抽象方法;4) 在抽象类的构造方法中调用了自己未实现的抽象方法,那么对应子类实现了此方法;在抽象类实例化之后,子类未实例化之前,抽象类可以调用子类实现的抽象方法。代码如下:package com.example;public
2017-05-05 15:16:05 9458 2
原创 java中类的加载顺序
java中类加载顺序:1)静态代码块只执行一次;静态代码块首先被初始化2)构造代码块在每次创建对象都会执行;构造函数都是最后执行的。3)按照父子类继承关系进行初始化,先执行父类的初始化;4)程序运行时,先加载父类,(类加载顺序的问题)5)静态方法会被首先加载,但是不会被执行;只有调用的时候才会被执行。Java中普通代码块,构造函数,静态代码块执行顺序(优先级
2017-05-05 14:55:57 672
原创 使用静态内部类实现单例模式
代码如下:/** * Created on 2017/5/5. * Author:crs * Description:使用静态内部类的方式实现单例模式 */public class Singleton { private Singleton() { } public static final Singleton getInstance() {
2017-05-05 10:20:06 3057
原创 Jackson的使用(json解析)
代码如下:package com.example.administrator.jsckson.ui;import android.os.Bundle;import android.support.annotation.Nullable;import android.support.v7.app.AppCompatActivity;import android.util.Log;i
2017-05-04 11:55:37 2635 1
原创 产品:《人人都是产品经理》读书笔记
互联网中每个角色都有自己的思维,比如:产品思维:解决用户痛点的思维(满足用户的需求);用户思维:好玩的、操作爽的思维;运营思维:用户能自然增长的思维;美工思维:长得好看、用色规范、界面精美的思维;老板思维:能说服投资人、能给老子转到钱的思维。———————————————————————————————————垂直电子商务是指在某一个行业或细分市场深化运营的电子商务模式
2017-04-28 20:56:16 1483
转载 安卓中的View、SurfaceView和GLSurfaceView区别
Android游戏当中主要的除了控制类外就是显示类View;SurfaceView是从View基类中派生出来的显示类。android游戏开发中常用的三种视图是:view、SurfaceView和GLSurfaceView。 1)View:显示视图,内置画布Canvas,提供图形绘制函数、触屏事件、按键事件函数等;必须在UI主线程内更新画面,速度较慢。2)SurfaceView:基于vi
2017-04-26 21:10:37 1015
原创 安卓中的两种设计模式:单例模式,观察者模式
单例模式线程不安全的写法:两者的初始化时间不一样;在多线程中使用可能出现并发问题,package lanxin.lanxin.bean;/** * Created by crs on 2017/4/26. */public class Student { private static Student mStudent=null; //构造函数私有 priv...
2017-04-26 19:41:15 1051
原创 安卓硬件加速
硬件加速的含义:在Canvas上使用GPU(图形处理器)对View进行绘制操作。硬件加速主要应用于图像的绘制。 硬件加速的特点:安卓硬件加速能够带来性能的提升。硬件加速使得View绘制更加平滑,图形绘制速度加快;但是会多消耗一些内存,耗电量加大。 1、由于硬件加速自身并非完美无缺,所以Android提供选项来打开或者关闭硬件加速,默认是关闭。2、硬件加速分为四个级别:在
2017-04-26 19:10:19 602
原创 Java中的集合特点总结
分类标准:1)线程是否安全(单线程还是多线程中使用)?2)单列还是双列集合?3)底层数据结构是链表、数组还是哈希表?4))是否是有序集合? 继承关系:Collection、ArrayList、LinkedListCollection Vector : 基于Array的List,实际上就是封装了Array所不具备的一些功能方便我们使用,它不可能不受Array的
2017-04-26 19:07:19 1367
原创 项目管理:effevo项目管理工具
effevo可以帮助企业、团队在项目管理、团队协作方面提升效率。effevo主体有三大核心模块:任务管理、缺陷管理、信息共享;请看下图:1)任务管理:支持列表、甘特图、表格多种视图,团队各角色在此都可以快速了解任务状态。2)缺陷管理:高度灵活可定制表单、流程,可完美匹配您团队需要(主要用于软件测试环节)。3)信息共享:团队文件、话题讨论、多方位统计报表,数据即时共享、安全存储。
2017-02-20 17:59:46 1822
原创 安卓打包中的混淆处理
ProGuard是一个免费的java类文件压缩、优化、混淆器。它探测并删除没有使用的类、字段、方法和属性。它删除没有用的说明并使用字节码得到最大优化。它使用无意义的名字来重命名类、字段和方法。ProGuard的使用是为了:1、创建紧凑的代码文档是为了更快的网络传输,快速安装和更小的内存占用。2、创建的程序和程序库很难使用反向工程(防止被破解)。3、所以它能删除来自源文件中的
2017-02-17 11:32:37 796
原创 BigDecimal商品计算 精确处理
银行、价格计算的时候在大多数的商业计算中,一般采用java.math.BigDecimal类来进行精确计算。在使用BigDecimal类来进行计算的时候,主要分为以下步骤:1、用float或者double变量构建BigDecimal对象。2、通过调用BigDecimal的加,减,乘,除等相应的方法进行算术运算。3、把BigDecimal对象转换成float,double
2017-02-16 10:53:07 789
原创 Postman的使用
作用:跟踪网络请求,查看数据交互设置:添加请求头,修改请求方式,查看响应时间,响应状态,响应数据大小,请求参数的添加。界面如下:Authorization:授权或者证书 (访问服务器端的验证,如果不匹配就不让访问 )解决bug的思路:1)出了问题,看看数据是不是符合要求 (服务器端的问题;移动端的问题)。2)如果数据没问题,就是逻辑判断的问题,看
2017-02-15 11:57:54 5642
原创 HTTP劫持总结
1)目的: 以弹窗的形式,在客户端展示宣传性广告或者直接显示某网站的内容。2)原理: 在客户端与目的服务器所建立的专门的数据传输通道中,监视特定数据信息,如果满足条件,就会插入精心设计的网络数据,目的是让客户端程序解释“错误”的数据,进而展示宣传性内容。3)性质:属于“网络安全和数据加密”方面的内容。4)核心:对HTTP通讯协议的利用。在用户的客户端与其要访问的服务器经
2017-01-16 10:30:57 4374
原创 计算机基础一:IP地址与域名解析
一,Free IP Scanner1)是免费的局域网IP地址扫描软件,它简单地Ping每个IP地址以检查它是否还活着2)可以扫描出某一个局域网中所有的ip地址(正在用的IP地址和没有使用的ip地址)3)可以扫描对应的网卡MAC地址,计算机名,所在工作组或域等.二,内网ip与外网ip的区别? (l路由器是分界线)1)路由以里的网络叫内网;路由以外的网
2017-01-13 15:54:53 23421
原创 强大的Logger功能
效果图如下:(特别好用)打印log比断点调试数据更快,断点调试数据的改变不容易看。程序出错一般都是和服务器端交互的数据有问题。别忘了在Application中配置初始化Logger: @Override public void onCreate() { super.onCreate(); //进行初始化操作 L
2017-01-11 14:38:59 1372
原创 SQL Prompt插件的使用, 物理删除与逻辑删除
物理删除与逻辑删除的区别:1)“物理删除”是计算机处理数据时的一个概念。2)与物理删除相对应的是逻辑删除。逻辑删除就是给要删除的数据打上一个删除标记,在逻辑上是数据是被删除的,但数据本身依然存在(这行记录还是存在的),而物理删除则是把数据从存储介质上彻底删除掉。3)逻辑删除的文件容易恢复,而物理删除则很难恢复!4)数据库中的删除操作一般是逻辑删除,被删除的那行记录仍然是存在的。
2016-12-15 15:05:20 4728
原创 .net中的对象初始化器
对象初始化器作用:用较少的代码完成创建一个新对象并为对象的若干属性和公共数据成员进行赋值。using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace _09_对象初始化器{ class P
2016-12-14 21:07:53 1180 1
原创 .net中的托管资源与非托管资源
托管资源指的是.NET可以自动进行回收的资源,主要是指托管堆上分配的内存资源。托管资源的回收工作是不需要人工干预的,有.NET运行库(CLR)在合适调用垃圾回收器进行回收。非托管资源指的是.NET不知道如何回收的资源,最常见的一类非托管资源是包装操作系统资源的对象,例如文件,窗口,网络连接,数据库连接,画刷,图标等。这类资源,垃圾回收器在清理的时候会调用Object.Finalize()方法。
2016-12-14 20:54:17 576
原创 .net中的单例模式实现以及常见问题
实现步骤:1)构造函数私有2)对外提供一个公共的静态方法,通过类名调用方法创建对象常见问题:1)如何实现单例模式?2)多线程造成的问题,如何解决?如果在多线程中使用,可能会创建多个对象的,构造函数可能会调用不止一次。3)为代码加锁会影响效率,如何处理? private void btn1_Click(object sender, EventArgs
2016-12-14 20:43:57 2356
原创 .net三层架构
练习1:在一个项目中使用三层架构实现注册功能代码如下:UI层代码using _05_用三层实现注册功能.BLL;using _05_用三层实现注册功能.MEDOL;using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using Sy
2016-12-12 21:24:00 1639
原创 NPOI的使用与拼音检索
一:NPOI的使用1)把Excel中的数据输出2)将集合中的数据保存到Excel文档中3)把数据库中的数据导出到Excel表格中3)把Excel表格中的数据导入到数据库中。使用NPOI对Excel表格进行操作:NPOI能够分析Excel文件的格式,能够进行常规Excel操作,不依赖Excel,节省资源,没有安全性、性能问题,在asp.net中使用最合适,只能处理
2016-12-08 20:57:05 702
原创 简单三层架构项目二
一:多个解决方案之间相互调用1)两个解决方案之间是可以相互调用?2)两个解决方案之间如何相互调用?如何添加对类库的引用,一定要会,特别有用。3)对C#中“类库”的理解两个解决方案之间相互调用,其实就是添加引用,添加类库,在C#语言中类库是.dll结尾,称之为动态链接库.动态链接库主要应用于共享函数库,使进程可以调用不属于其的可执行代码的函数。其实是把另一个解决方案当做类库使
2016-12-07 18:36:05 972
原创 简单三层架构项目一
1)系统用户管理:用户的密码以md5散列值的形式保存在数据库中,密码不能明文保存。2)客户资料管理:使用NPOI实现从Excel文件中批量导入客户资料,还可以将客户资料导出到Excel文件中。3)客户资料的查询支持按照拼音检索。为了提高检索速度,在用户表中添加一个“姓名拼音”字段,在用户增加,修改时,计算姓名对应的拼音。4)客户资料的检索支持符合检索,也就是根据用户姓名、地区、购买日期
2016-12-07 18:26:32 2135
原创 .NET常见的面试题(都是易错点)
简述 private、 protected、 public、 internal 修饰符的访问权限。答:private : 私有成员, 在类的内部才可以访问。 protected : 保护成员,该类内部和继承类中可以访问。 public : 公共成员,完全公开,没有访问限制。 internal: 在同一命名空间内可以访问。 C#中的委托是什么?事件是不是一种委托?答
2016-11-30 19:54:08 2247
转载 百度百家:《京东物流开放》《内容创业从来就没有春天》
摘抄:京东物流全面开放商业化,这个曾被外界诟病为压垮京东模式最后一根稻草的物流,不仅变成京东用户体验的核心竞争力,还可能变成利润中心(全面商业化,面向市场,用户体验的核心竞争力,利润中心;京东一直是不盈利的,每年在亏损,但是交易额比较高,京东估值高是根据交易额来的);京东三大核心业务:京东商城,京东金融(京东白条和京东金条),京东物流;2007年,刘强东力排众议决定自建物流,今日全
2016-11-27 15:34:55 707
转载 "乐视之殇"——谁能拯救这个梦想成为英雄的民营企业?
核心观点:1)对于乐视的态度,一是认为乐视已经到了谷底,现在是抄底的好时机,必定强势反弹(股价大跌)。二是认为乐视的梦幻帝国被打破,多米诺骨牌已经被推倒。2)乐视的海水与火焰:是被巨浪吞没还是把海洋煮沸?3)以经营为导向、聚焦现有生态和区域市场、高质量和可持续增长将成为乐视接下来发展关键词。(摊子太大,不知怎么收尾;业务线经营不善)4)包括周建平在内的6家企业董事长均为贾跃亭在长江
2016-11-25 18:19:55 1921
原创 ASP.NET(一)学习
SOA服务:SOA的出现,预示着一个以服务为导向的新IT(Information Technology)时代的到来。SOA服务的理念思想,本质上是一种业务和技术完全分离,业务又能和技术自由组合的思想,它达到了软件设计的最高境界。SOA是为软件集成而服务的,它实现了技术和架构的完全分离,消除了软件服务集成的所有障碍。SOA超越了所有的具体技术(如WebService),也超越了所有具
2016-11-17 18:09:27 1002
原创 第三届世界互联网大会核心观点及技术发展趋势
大咖访谈:1:李彦宏:移动互联网时代结束 (移动互联网----->人工智能+物联网)百度公司董事长兼首席执行官李彦宏在发表演讲时表示,移动互联网时代已经结束,未来的机会在人工智能。李彦宏说,人工智能将为每个人、每个行业甚至每个国家的发展带来更多可能性。他认为,语言的障碍未来将被打破,不再需要同声传译。2:马云:否认电商“抢饭碗” (未来30年,将会决定每个国家、每个行业
2016-11-17 11:24:28 3080 2
原创 ADO.NET操作数据库(四)
主要内容: 连接查询、左表、右表、内连接、外连接、笛卡尔积、on子句数据筛选、自连接、存储过程、连接查询、模糊查询、视图、T-SQL编程、全局变量、局部变量、事务、系统存储过程、用户自定义存储过程、ado.net调用存储过程、触发器。快捷键:格式化快捷键 ctrl+K,Y详细内容:1、连接查询连接查询:关键是看两张表的主外键关系内连接:inner joi
2016-11-09 19:45:29 3951
原创 ADO.NET操作数据库(三)
自己的总结:连接对象、命令对象 、Sql参数对象SqlDataAdapter其实是对数据操作的封装,让我们写代码变得简单了,adapter是转换器的意思,不需要关心适配器内部是怎么实现的,它能够把数据库中的数据获取到内存里面。分表存储、分区存储。使用主从数据库:主数据库专门用来进行查询操作;从数据库专门用来做增删改操作。一:DataSet与DataT
2016-11-02 20:45:40 1412
原创 ADO.NET操作数据库(二)
核心内容:SqlHelper的封装、配置文件的使用、事件监视器、ado.net数据库连接池、可变参数、异常捕获、SQL漏洞注释攻击、使用带参数的sql语句、本文中出现的类的用法。一:关于SqlHelper的封装使用SqlHelper工具类,帮助我们操作:1)经常爆出的一个错:类型初始化设定项引发异常,在配置文件中找不到对应名称的配置。2)SqlHelper工具类的使用特别好,一定要
2016-10-30 18:31:50 2651
原创 ADO.NET操作数据库(一)
using System;using System.Collections.Generic;using System.Data.SqlClient;using System.Linq;using System.Text;using System.Threading.Tasks;namespace 数据库操作{ class Program { stat
2016-10-26 21:35:31 2552
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人