一道算法(java)

问题来自:http://bbs.csdn.net/topics/392136535?page=1#post-402184192 String[] arg={1,2,3,4,5,6,7,8,9,10,11,12}判断1到6  2到7以此类推   如果这个六个数是连续的  则返回true 。 过程:public byte join(String[] r, int s, char ch) {
阅读本文

Java代理和动态代理机制分析和应用

概述 代理是一种常用的设计模式,其目的就是为其他对象提供一个代理以控制对某个对象的访问。代理类负责为委托类预处理消息,过滤消息并转发消息,以及进行消息被委托类执行后的后续处理。根据代理类的生成时间不同可以将代理分为静态代理和动态代理两种。 代理模式一般涉及到的角色有4种 主题接口:定义代理类和真实主题的公共对外方法,也是代理类代理真实主题的方法;真实主题:真正实现业务逻辑的类;代理类:用来
阅读本文

泛型,反射

1,说说对泛型的理解,以及和Object的区别?  泛型是在jdk1.5的新特性,主要用来解决类型转换的.  Object是一种数据类转,需要强制类型转换. 2,说说对反射的理解,和反射的原理?  原理:  运行时类型识别(RTTI)主要有两种方式,一种是在编译时和运行时已经知道所有的类型,一种是反射机制.  理解RTTI在java中的工作原理,首先必须知道类型信息在运行时是怎么表示的,这项工作有
阅读本文

分布式锁的一点理解

以下内容为目前自己理解的总结,如有错误请大家指正。什么是锁在单进程的系统中,当存在多个线程可以同时改变某个变量(可变共享变量)时,就需要对变量或代码块做同步,使其在修改这种变量时能够线性执行消除并发修改变量。而同步的本质是通过锁来实现的。为了实现多个线程在一个时刻同一个代码块只能有一个线程可执行,那么需要在某个地方做个标记,这个标记必须每个线程都能看到,当标记不存在时可以设置该标记,其余后续线程发
阅读本文

关于大数据你不一定知道的事儿

随着互联网的发展大数据的爆发现在Java人才社会需求量大,根据相关报道,软件开发中,对JAVA工程师的需求达倒全部需求量的6成到七成于此同时,JAVA工程师的薪水相对较高。通常来说,3至五年的开发经验,拥有年薪10万元是很正常的一个薪酬水平。百分之80学员毕业后年薪都超过了5万元。这么好的薪资待遇,看看都流口水呢。
阅读本文

使用Jenkins搭建iOS/Android持续集成打包平台

背景描述  根据项目需求,现要在团队内部搭建一个统一的打包平台,实现对iOS和Android项目的打包。而且为了方便团队内部的测试包分发,希望在打包完成后能生成一个二维码,体验用户(产品、运营、测试等人员)通过手机扫描二维码后就能直接安装测试包。  该需求具有一定的普遍性,基本上所有开发APP的团队都可能会用到,因此我将整个需求实现的过程整理后形成此文,并且真正地做到了零基础上手,到手即飞、开箱即
阅读本文

处理百万级的数据

1.应尽量避免在 where 子句中使用!=或操作符,否则将引擎放弃使用索引而进行全表扫描。2.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 3.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where num is null
阅读本文

从用户浏览器输入url到用户看到页面结果的过程,发生了什么事情?

1、域名解析   域名解析的过程:    1).查询浏览器自身DNS缓存        2).若上面没有查找到,则搜索操作系统自身的dns缓存        3).若上面没有找到,则尝试读取hosts文件        4).若上面没有找到,向本地配置的首选DNS服务器发送请求        5).win系统 如果上面没有找到,操作系统查找NetBIOS name cache        6).
阅读本文

基础安全术语科普(三)——RAT

什么是RAT?RAT 即 Remote Access Tools (远程管理工具或远程访问工具)的缩写。通俗点说就是木马病毒。RAT 分为两部分——客户端 与 服务端。 RAT的工作原理?服务端连接到客户端。(与正常网络通信相反) 黑客如何使用RAT连接被感染的机器?想要连接到目标上,就必须建立端口,并且无防火墙拦截。因为被感染机器是被连接向操作系统的——反向TCP。黑客只需要开放自己的端口,允许
阅读本文

【Android】Retrofit 2.0 的使用

一、概述Retrofit是Square公司开发的一个类型安全的Java和Android 的REST客户端库。来自官网的介绍:A type-safe HTTP client for Android and JavaRest API是一种软件设计风格,服务器作为资源存放地。客户端去请求GET,PUT, POST,DELETE资源。并且是无状态的,没有session的参与。关于REST的介绍可以参考维基
阅读本文

使用消息队列实现分布式事务-公认较为理想的分布式事务解决方案

前阵子从支付宝转账1万块钱到余额宝,这是日常生活的一件普通小事,但作为互联网研发人员的职业病,我就思考支付宝扣除1万之后,如果系统挂掉怎么办,这时余额宝账户并没有增加1万,数据就会出现不一致状况了。上述场景在各个类型的系统中都能找到相似影子,比如在电商系统中,当有用户下单后,除了在订单表插入一条记录外,对应商品表的这个商品数量必须减1吧,怎么保证?!在搜索广告系统中,当用户点击某广告后,除了在点击
阅读本文

篇1 安卓app自动化测试-appium环境篇

篇1              安卓app自动化测试-appium环境篇                                   --lamecho1.1概要       大家好!先自我介绍一下,我是lamecho(辣么丑),在软件测试行业侵淫多年,一直想写个系列文章介绍软件测试自动化方面的东西,所以今天开始2017年3月15日挤挤时间开写了,我们就一起有坑填坑,有山搬山吧。好,自我介
阅读本文

消息队列实现分布式事务

前阵子从支付宝转账1万块钱到余额宝,这是日常生活的一件普通小事,但作为互联网研发人员的职业病,我就思考支付宝扣除1万之后,如果系统挂掉怎么办,这时余额宝账户并没有增加1万,数据就会出现不一致状况了。上述场景在各个类型的系统中都能找到相似影子,比如在电商系统中,当有用户下单后,除了在订单表插入一条记录外,对应商品表的这个商品数量必须减1吧,怎么保证?!在搜索广告系统中,当用户点击某广告后,除了在点击
阅读本文

任务01——谈谈对参加工作室的预期

1.自己目前在专业能力上的短板,及打算如何弥补。  目前大二,只学了C语言、C++、C#、Java及数据结构、数据库的知识,自我感觉掌握的都是一些基础概念和皮毛,知识结构也太过于局限,不是书本上讲到的不太会使用,对自己想实现的功能有时会无从下手。目前有些搞不懂的地方会请教同学、请教学长、请教老师,希望以后可以延续,可以通过阅读学长的代码、看网络视频、买一些资料,做到多学多做与时俱进。 2.在一学期
阅读本文

Android中Handler的消息处理机制以及源码分析

在实际项目当中,一个很常见的需求场景就是在根据子线程当中的数据去更新ui。我们知道,android中ui是单线程模型的,就是只能在UI线程(也称为主线程)中更新ui。而一些耗时操作,比如数据库,网络请求,I/O等都是在其他线程中进行的,那么此时就需要在不同线程中进行通信了,而我们最常用的方式就是Handler。常见的使用方式如下: 1 public class HandlerTestActivit
阅读本文

分布式服务框架之服务化最佳实践

在服务化之前,业务通常都是本地API调用,本地方法调用性能损耗较小。服务化之后,服务提供者和消费者之间采用远程网络通信,增加了额外的性能损耗,业务调用的时延将增大,同时由于网络闪断等原因,分布式调用失败的风险也增大。如果服务框架没有足够的容错能力,业务失败率将会大幅提升。除了性能、可靠性等问题,跨节点的事务一致性问题、分布式调用带来的故障定界困难、海量微服务运维成本增加等也是分布式服务框架必须要解
阅读本文

浅谈分布式事务

前言应用场景 事务必须满足传统事务的特性,即原子性,一致性,分离性和持久性。但是分布式事务处理过程中, 某些场地比如在电商系统中,当有用户下单后,除了在订单表插入一条记录外,对应商品表的这个商品数量必须减1吧,怎么保证? 在搜索广告系统中,当用户点击某广告后,除了在点击事件表中增加一条记录外,还得去商家账户表中找到这个商家并扣除广告费吧,怎么保证? 一 本地事务以用户A转账用户B为例,假设有
阅读本文

Maven系列二setting.xml 配置详解

文件存放位置全局配置: ${M2_HOME}/conf/settings.xml用户配置: ${user.home}/.m2/settings.xmlnote:用户配置优先于全局配置。${user.home} 和和所有其他系统属性只能在3.0+版本上使用。请注意windows和Linux使用变量的区别。 settings.xml详解声明规范<?xml version=“1.0“ encoding=
阅读本文

Retrofit 实践

Retrofit1.包的获取与安装Maven 配置<dependency> <groupId>com.squareup.retrofit2</groupId> <artifactId>retrofit</artifactId> <version>2.2.0</version> </dependency>Gradle 配置compile ‘com.squareup.retrofi
阅读本文

命令点

注:通过sysctl.conf文件修改的内核参数不会立刻生效,要用sysctl -p 激活#runlevel#init 3#rpm -e httpd --nodeps#chkconfig --listtcp udp#vim /etc/rc.d/rc.local#ntsysv#nmap -sS 192.168.11.6创建密码: openssl passwd -1 -salt `openssl ra
阅读本文