you shen me hua zai zhe li shuo

wo qu de zhe ge nv ren bu xing

wo shi jiang xia ren, wo shi zhi fang de

zuo de yue duo, cuo de yue duo, shen me dou bie zuo le[……]

继续阅读

不折腾,家里经不起我折腾了,爸妈经不起我折腾了

不要再打电话,自己的事情自己解决。不要再提fang zi。[……]

继续阅读

普通公司员工的编程水平与阿里巴巴有多大差距?

https://mp.weixin.qq.com/s/HPzreG5D4XoVjGNNOMZzsg

 

Java多线程

  • 线程池的原理,为什么要创建线程池?
  • 线程的生命周期,什么时候会出现僵死进程;
  • 什么实现线程安全,如何实现线程安全;
  • 创建线程池有哪几个核心参数? 如何合理配置线程池的大小?
  • synchronized、volatile区别、synchronized锁粒度、模拟死锁场景、原子性与可见性;

JVM相关

  • JVM内存模型,GC机制和原理;GC分哪两种;什么时候会触发Full GC?
  • JVM里的有几种classlo[……]

    继续阅读

使用JMAP dump及分析dump文件

https://www.cnblogs.com/0616–ataozhijia/p/4136312.html

 

转载:http://blog.csdn.net/kevin_luan/article/details/8447896

http://liulinxia02.blog.163.com/blog/static/26868772009111861834942/

http://zhumeng8337797.blog.163.com/blog/static/100768914201242410583187/

 

其中jmap是java[……]

继续阅读

sql复合索引使用和注意事项

https://blog.csdn.net/mysevenyear/article/details/80522667

 

1、定义: 

单一索引:

单一索引是指索引列为一列的情况,即新建索引的语句只实施在一列上;

复合索引:

复合索引也叫组合索引;

用户可以在多个列上建立索引,这种索引叫做复合索引(组合索引)。

复合索引在数据库操作期间所需的开销更小,可以代替多个单一索引;

同时有两个概念叫做窄索引和宽索引,窄索引是指索引列为1-2列的索引,宽索引也就是索引列超过2列的索引;

设计索引的一个重要原则就是能用窄索引不用宽索引,[……]

继续阅读

简洁又快速地处理集合——Java8 Stream(下)

https://www.cnblogs.com/HowieYuan/p/9394552.html

 

上一篇文章我讲解 Stream 流的基本原理,以及它与集合的区别关系,讲了那么多抽象的,本篇文章我们开始实战,讲解流的各个方法以及各种操作

没有看过上篇文章的可以先点击进去学习一下 简洁又快速地处理集合——Java8 Stream(上),当然你直接看这篇也可以,不过了解其本身才能更融会贯通哦。

值得注意的是:学习 Stream 之前必须先[……]

继续阅读

AspectJ的切入点表达式—execution表达式详解

https://blog.csdn.net/lk7688535/article/details/51989746

 

Aspectj切入点语法定义

在使用spring框架配置AOP的时候,不管是通过XML配置文件还是注解的方式都需要定义pointcut”切入点”

例如定义切入点表达式 execution (* com.sample.service.impl..*. *(..))

execution()是最常用的切点函数,其语法如下所示:

整个表达式可以分为五个部分:

1、execution(): 表达式主体。

2、第一个*号:表示返回类型, *[……]

继续阅读

索引失效原因总结

https://blog.csdn.net/colin_liu2009/article/details/7301089

 

今天一个同事突然问我索引为什么失效。说实在的,失效的原因有多种:

但是如果是同样的sql如果在之前能够使用到索引,那么现在使用不到索引,以下几种主要情况:

1. 随着表的增长,where条件出来的数据太多,大于15%,使得索引失效(会导致CBO计算走索引花费大于走全表)

2. 统计信息失效      需要重新搜集统计信息

3. 索引本身失效      需要重建索引

下面是一些不会使用到索引的原因

索引失效
1)[……]

继续阅读

【RabbitMQ】三种Exchange模式——订阅、路由、通配符模式

https://blog.csdn.net/ww130929/article/details/72842234

https://blog.csdn.net/ww130929/article/details/72835517

https://blog.csdn.net/ww130929/article/details/72818303

https://blog.csdn.net/u013046597/article/details/72817959

 

标准的AMQP Exchange有4种: Direct, Topic, Headers, Fanout,[……]

继续阅读

ThreadPoolExecutor使用详解

https://www.cnblogs.com/zedosu/p/6665306.html

 

ThreadPoolExecutor机制 

一、概述
1、ThreadPoolExecutor作为java.util.concurrent包对外提供基础实现,以内部线程池的形式对外提供管理任务执行,线程调度,线程池管理等等服务;
2、Executors方法提供的线程服务,都是通过参数设置来实现不同的线程池机制。
3、先来了解其线程池管理的机制,有助于正确使用,避免错误使用导致严重故障。同时可以根据自己的需求实现自己的线程池
二、核心构造方法讲解
下面是ThreadP[……]

继续阅读

【同济科普】秋天眼干,医生说这几类眼药水,没事儿别滴!

https://mp.weixin.qq.com/s/vvZvZtu5QacBKpcBxrCUJQ

 

玩电脑、手机,眼睛是否出现了干涩、有异物感等不适症状?这可能是干眼症发出的警报!近年来,干眼症已成为一种流行性疾病。在中国,60%~70%的年轻人受此困扰,65岁以上的人群中,患病率更高达75%。

眼睛干≠干眼症不是所有的眼睛干,都是干眼症。秋冬季节空气干燥,人们又习惯长时间用电脑、玩手机,出现眼睛干涩的人很多。然而,眼干只是一种症状,而干眼是一种疾病。

干眼症是指任何原因造成的泪液质或量异常或动力学异常,导致泪膜稳定性下降,并伴有眼部不适和眼表组织[……]

继续阅读

JVM 图形化监控工具

https://www.cnblogs.com/azhqiang/p/4635935.html

 

1.jvmstat
jvmstat是图形版的jstat,由Java 官方提供,目前最新版本为3.0。

下载地址:http://www.oracle.com/technetwork/java/jvmstat-142257.html

 

下载之后解压缩得到以下目录结构:

目录结构比较清晰,很容易就能分辨出各目录的功能及作用:
bat:windows启动程序

bin:linux启动程序

docs:相关文档

etc:l[……]

继续阅读

Python获取秒级时间戳与毫秒级时间戳

https://www.cnblogs.com/fangbei/p/python-time.html

 

1、获取秒级时间戳与毫秒级时间戳

import time
import datetime

t = time.time()

print (t)                       #原始时间数据
print (int(t))                  #秒级时间戳
print (int(round(t * 1000)))    #毫秒级时间戳

nowTime = lambda:int(round(t * 1000))
pr[......]

继续阅读

RabbitMQ的几种典型使用场景

https://www.cnblogs.com/luxiaoxun/p/3918054.html

 

RabbitMQ主页:https://www.rabbitmq.com/

AMQP

AMQP协议是一个高级抽象层消息通信协议,RabbitMQ是AMQP协议的实现。它主要包括以下组件:

1.Server(broker): 接受客户端连接,实现AMQP消息队列和路由功能的进程。

2.Virtual Host:其实是一个虚拟概念,类似于权限控制组,一个Virtual Host里面可以有若干个Exchange和Queue,但是权限控制的最小粒度是[……]

继续阅读

哪些情况下索引会失效?

http://www.cnblogs.com/hongfei/archive/2012/10/20/2732589.html

 

索引并不是时时都会生效的,比如以下几种情况,将导致索引失效

  1. 如果条件中有or,即使其中有条件带索引也不会使用(这也是为什么尽量少用or的原因)

  注意:要想使用or,又想让索引生效,只能将or条件中的每个列都加上索引

2.对于多列索引,不是使用的第一部分,则不会使用索引

3.like查询是以%开头

4.如果列类型是字符串,那一定要在条件中将数据使用引号引用起来,否则不使用索引

[……]

继续阅读

Spring Cloud各组件总结归纳

https://blog.csdn.net/yejingtao703/article/details/78331442

 

前面介绍了很多Spring Cloud的组件,本篇按照自己的角度来做一次归纳。

Spring Cloud技术应用从场景上可以分为两大类:润物无声类和独挑大梁类。

 

润物无声,融合在每个微服务中、依赖其它组件并为其提供服务。

Ribbon,客户端负载均衡,特性有区域亲和、重试机制。

Hystrix,客户端容错保护,特性有服务降级、服务熔断、请求缓存、请求合并、依赖隔离。

Feign,声明式服务调用,本质上就是Rib[……]

继续阅读

MongoDB的水平扩展,你做对了吗?

http://www.infoq.com/cn/articles/scale-out-mongodb

 

分布式数据库的前世今生

当人们一开始使用数据库系统的时候,所有数据都是跑在一台服务器上,即所谓的单机数据库服务器。在企业级应用中,我们会搭建一台应用程序服务器,一般它会被运行在一台服务器或者工作站上,大多数情况下采用 Linux/Unix/Windows 操作系统,也有人把这样的服务器称之为应用程序服务器。顾名思义,他的作用是处理复杂的业务逻辑。但是一点需要注意的是,在这样的构架中,这台应用程序服务器不会存储任何业务数据,也就是说,他只负责逻辑运算,处理用户请求,真正存[……]

继续阅读

设计抗住千万级流量的架构思路

http://www.cnblogs.com/GodHeng/p/8834810.html

 

随着互联网的发展,各项软件的客户量日益增多,当客户量达到一定峰值时,当数以万计的流量来临时,程序的顺利运行以及即时响应则显得尤为重要,就像双11那天的淘宝一样。那么,如何设计架构才能够抗住这千万级的流量。

首先,要在我们架构设计的时候建立一些原则。

1.实现高并发

服务拆分:将整个项目拆分成多个子项目或者模块,分而治之,将项目进行水平扩展。

服务化:解决服务调用复杂之后的服务的注册发现问题。

消息队列:解耦,异步处理

缓存:各种缓存带来的并发[……]

继续阅读

透彻理解MyBatis设计思想之手写实现

https://www.jianshu.com/p/73ee8caddc68?open_source=weibo_search

 

前言

MyBatis,曾经给我的感觉是一个很神奇的东西,我们只需要按照规范写好XXXMapper.xml以及XXXMapper.java接口。要知道我们并没有提供XXXMapper.java的实现类,MyBatis到底是怎么做到这一点的呢?有人会说是动态代理,现在我就来通过手写一个迷你版的MyBatis来彻底理解它的设计思想!

如果你不了解JDK动态代理,请参考:《纯手写实现JDK动态代理》

如果你不了解MyBatis的使用[……]

继续阅读

HTTP 和 Socket 的区别

https://www.cnblogs.com/meier1205/p/5971313.html

 

要弄明白 http 和 socket 首先要熟悉网络七层:物 数 网 传 会 表 应,如图1

如图1

HTTP 协议:超文本传输协议,对应于应用层,用于如何封装数据.

TCP/UDP 协议:传输控制协议,对应于传输层,主要解决数据在网络中的传输。

IP 协议:对应于网络层,同样解决数据在网络中的传输。

传输数据的时候只使用 TCP/IP 协议(传输层),如果没有应用层来识别数据内容,传输后的协议都是无用的。

应用层协议很多 FT[……]

继续阅读

php

PHP之十六个魔术方法详细介绍

http://www.jb51.net/article/96167.htm

 

PHP中把以两个下划线__开头的方法称为魔术方法(Magic methods),这些方法在PHP中充当了举足轻重的作用。 魔术方法包括:

  • __construct(),类的构造函数
  • __destruct(),类的析构函数
  • __call(),在对象中调用一个不可访问方法时调用
  • __callStatic(),用静态方式中调用一个不可访问方法时调用
  • __get(),获得一个类的成员变量时调用
  • __set(),设置一个类的成员变量时调用
  • __isset(),[……]

    继续阅读

Java23种设计模式学习笔记【目录总贴】

https://www.cnblogs.com/cxxjohnson/p/6403835.html

 

创建型模式:关注对象的创建过程

1、单例​模式:保证一个类只有一个实例,并且提供一个访问该实例的全局访问点

主要:

饿汉式(线程安全,调用效率高,但是不能延时加载)

懒汉式(线程安全,调用效率不高,但是可以延时加载)

其他:

双重检测锁式(由于JVM底层内部模型原因,偶尔会出问题。不建议使用)

静态内部类式(线程安全,调用效率高。但是可以延时加载)

枚举单例(线程安全,调用效率高,不能延时加载)

2、工厂模式[……]

继续阅读

浅谈23种设计模式

https://www.cnblogs.com/jianglingjun/p/6664292.html

 

类之间的关联关系:在使用Java、C#和C++等编程语言实现关联关系时,通常将一个类作为另一个类的属性。
(1)双向关联,两个类互相为各自的属性,比如顾客类Customer和商品类Product,顾客拥有商品,商品与某个顾客相关联。
(2)单向关联,一个类作为另一个类的属性,顾客Customer拥有地址Address,UML图用带箭头的直线表示,由Customer指向Address。
(3)自关联,此类的属性对象类型属于该类本身,例如节点类Node的成员又是节[……]

继续阅读

深入理解Java 注解原理

https://blog.csdn.net/zhang0558/article/details/52643016

 

*注解的用途

注解(Annotation)是JDK1.5引入的新特性,包含在java.lang.annotation包中,它是附加在代码中的一些元信息,将一个类的外部信息与内部成员联系起来,在编 译、运行时进行解析和使用。Java内置了一些注解(如@Override、@Deprecated等),还支持自定义注解,一些知名的框架 Struts、Hibernate、Spring都有自己实现的自定义注解,也可以自己定义注解供使用。

Annotation十分类[……]

继续阅读

JAVA集合类汇总

https://www.cnblogs.com/leeplogs/p/5891861.html

 

一、集合与数组

数组(可以存储基本数据类型)是用来存现对象的一种容器,但是数组的长度固定,不适合在对象数量未知的情况下使用。

集合(只能存储对象,对象类型可以不一样)的长度可变,可在多数情况下使用。

二、层次关系

如图所示:图中,实线边框的是实现类,折线边框的是抽象类,而点线边框的是接口

Collection接口是集合类的根接口,Java中没有提供这个接口的直接的实现类。但是却让其被继承产生了两个接口,就是Set和List。Set中不能[……]

继续阅读

JVM调优总结

 

 

1.一些概念

1.1.数据类型

Java虚拟机中,数据类型可以分为两类:基本类型引用类型。基本类型的变量保存原始值,即:他代表的值就是数值本身;而引用类型的变量保存引用值。“引用值”代表了某个对象的引用,而不是对象本身,对象本身存放在这个引用值所表示的地址的位置。

基本类型包括:byte,short,int,long,char,float,double,Boolean,returnAddress

引用类型包括:类类型接口类型数组

1.2.堆与栈

堆和栈是程序运行的关键,很有必要把他们的关系说清楚。[……]

继续阅读

java保证线程安全的两种方式

https://blog.csdn.net/xiangxianghehe/article/details/51135299

 

JVM有主内存(Main Memory)和工作内存(Working Memory),主内存就是平时所说的java堆内存,存放程序中所有的类实例、静态数据等变量,是线程共享的,而工作内存中存放的是从主内存中拷贝过来的变量以及访问方法所取得的局部变量,是每个线程独立所有的,其他线程不能访问。

每个线程都有自己的执行空间(即工作内存),线程执行的时候用到某变量,首先要将变量从主内存拷贝的自己的工作内存空间,然后对变量进行操作:读取,修改,赋值等,这些[……]

继续阅读

Go 语言指针

http://blog.csdn.net/u011225629/article/details/50097385

 

Go 语言中指针是很容易学习的,Go 语言中使用指针可以更简单的执行一些任务。

接下来让我们来一步步学习 Go 语言指针。

我们都知道,变量是一种使用方便的占位符,用于引用计算机内存地址。

Go 语言的取地址符是 &,放到一个变量前使用就会返回相应变量的内存地址。

以下实例演示了变量在内存中地址:

package main

import "fmt"

func main() {
   var a int = 1[......]

继续阅读

go语言指针符号的*和&

https://studygolang.com/articles/108

 

先看一段代码

先放一段代码,人工运行一下,看看自己能做对几题?

package main

import "fmt"

func main() {
    var a int = 1 
    var b *int = &a
    var c **int = &b
    var x int = *b
    fmt.Println("a = ",a)
    fmt.Println("&a = ",&a)
    fmt.Println([......]

继续阅读

ASCII 、UTF-8、Unicode都是个啥啊,为啥会乱码啊?

https://m.toutiao.com/i6508698036997194253/

 

ASCII 、UTF-8、Unicode都是个啥啊,为啥会乱码啊?

因为计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理。最早的计算机在设计时采用8个比特(bit)作为一个字节(byte),所以,一个字节能表示的最大的整数就是255(二进制11111111=十进制255),如果要表示更大的整数,就必须用更多的字节。比如两个字节可以表示的最大整数是65535,4个字节可以表示的最大整数是4294967295。

由于计算机是美国人发明的,因此,最早只有1[……]

继续阅读

java基础

https://www.toutiao.com/a6500506586799145486/?tt_from=mobile_qq&utm_campaign=client_share&app=news_article_lite&utm_source=mobile_qq&iid=19948400305&utm_medium=toutiao_android

 

一、Java基础

1. String类为什么是final的。

2. HashMap的源码,实现原理,底层结构。

3. 说说你知道的几个Java集合类:list、se[……]

继续阅读

java常用工具库

<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.7</version>
</dependency>
StringUtils.isNotBlank()
StringUtils.isEmpty()

StopWatch watch = new StopWatch();
watch.start();
watch.stop();
wa[……]

继续阅读

Java高并发,如何解决,什么方式解决

https://www.cnblogs.com/lr393993507/p/5909804.html

 

对于我们开发的网站,如果网站的访问量非常大的话,那么我们就需要考虑相关的并发访问问题了。而并发问题是绝大部分的程序员头疼的问题,

但话又说回来了,既然逃避不掉,那我们就坦然面对吧~今天就让我们一起来研究一下常见的并发和同步吧。

为了更好的理解并发和同步,我们需要先明白两个重要的概念:同步和异步

   1、同步和异步的区别和联系

所谓同步,可以理解为在执行完一个函数或方法之后,一直等待系统返回值或消息,这时程序是出于阻塞的,只有接收到

返回[……]

继续阅读

技术PPT分享网站

https://www.slideshare.net/

 [……]

继续阅读

kubernetes在线playground

https://www.katacoda.com/courses/kubernetes/playground

http://labs.play-with-k8s.com/[……]

继续阅读

IntelliJ Idea 常用快捷键列表

http://www.cnblogs.com/zhangpengshou/p/5366413.html

 

Ctrl+Shift + Enter,语句完成
“!”,否定完成,输入表达式时按 “!”键
Ctrl+E,最近的文件
Ctrl+Shift+E,最近更改的文件
Shift+Click,可以关闭文件
Ctrl+[ OR ],可以跑到大括号的开头与结尾
Ctrl+F12,可以显示当前文件的结构
Ctrl+F7,可以查询当前元素在当前文件中的引用,然后按 F3 可以选择
Ctrl+N,可以快速打开类
Ctrl+Shift+N,可以快速打开文件
Alt+[……]

继续阅读

docker在线play

http://labs.play-with-docker.com/

http://play-with-docker.com/?stack=https://raw.githubusercontent.com/docker-library/docs/96c08fac215f64844b9db61038a571b86534a12b/elasticsearch/stack.yml

 [……]

继续阅读

使用Docker构建持续集成与自动部署的Docker集群

https://my.oschina.net/jayqqaa12/blog/633683

 

摘要: 让我们来使用Docker来构建我们的持续集成系统 自动部署集群管理 集中式日志管理和主机监控系统 本文结合作者的实践 介绍了构建的整个步骤和遇到的问题

 

为什么使用Docker

从我个人使用的角度讲的话  部署来的更方便

只要构建过一次环境 推送到镜像仓库 迁移起来也是分分钟的事情

虚拟化让集群的管理和控制部署都更方便

hub.docker.com 里面的镜像也很方便 节约了很多自己生成镜像的时间

相当于提高了复用率

&[……]

继续阅读

java学习路线

https://www.zhihu.com/question/19851109

 

补充些网站:

  1. 并发编程网
  2. cmsblogs-chenssy-记录、分享JAVA技术
  3. Java并发编程 (海子的博客园)
  4. 依然didala (自己的一个网站,当然和上述是没法比,但对一些 Java 技术也花了点时间研究)

———————————以下原文———————————
可以参考从这几方面来看Java:

JVM
Java JVM:总结 · Issue #63 · pzxwhc/MineKnowContainer
垃圾算法和垃圾收集器相[……]

继续阅读

大型网站架构技能图谱(Java版)

http://kingschan.51so.info/entry/8af4dd795773b9230157a6eee92a2c84.html

 

在大型网站技术架构中,涉及到许多的技术,这些技术是具备大型网站架构设计能力的前提和基础。因为笔者对Java比较熟悉,所以下面的技术图谱都是围绕Java后端工程师展开的。如有不正确或者不完善的地方,欢迎补充。

 

[……]

继续阅读

java, redis/mysql, 数据结构, 计算机网络, 操作系统原理

[……]

继续阅读

Java架构师必会的技能

http://www.jianshu.com/p/fd1639c686c8

 

我把它分为了五大专题

工程化专题

工程化专题 git git安装使用

git日常使用:fetch/pull/push/revert/rebase git分支管理git flow

Jenkins多套环境(test/pre/production)系统自动化发布

Jenkins自动发布到远程主机[……]

继续阅读

集群、负载均衡、分布式

http://blog.csdn.net/zhou2s_101216/article/details/51707270

 

在“高并发,海量数据,分布式,NoSql,云计算……”概念满天飞的年代,相信不少朋友都听说过甚至常与人提起“集群,负载均衡”等,但不是所有人都有机会真正接触到这些技术,也不是所有人都真正理解了这些“听起来很牛的”技术名词。下面简单解释一下吧。(从一个网站上面看到的,例子很有趣,分享给大家)

   集群(Cluster)

所谓集群是指一组独立的计算机系统构成的一个松耦合的多处理器系统,它们之间通过网络实现进程间的通信。应用程序可以通过网络共[……]

继续阅读

java架构师

https://www.zhihu.com/question/29031276/answer/54631312

 

既然java架构师,首先你要是一个高级java工程师,熟练使用各种框架,并知道它们实现的原理。jvm虚拟机原理、调优,懂得jvm能让你写出性能更好的代码;池技术,什么对象池,连接池,线程池…:;java反射技术,写框架必备的技术,但是有严重的性能问题,替代方案java字节码技术;nio,没什么好说的,值得注意的是”直接内存”的特点,使用场景;java多线程同步异步;java各种集合对象的实现原理,了解这些可以让你在解决问题时选择合适的数据结构,高[……]

继续阅读

java社区

https://dzone.com/java-jdk-development-tutorials-tools-news

https://www.javacodegeeks.com/

 [……]

继续阅读

Go 边看边练

https://hacpai.com/article/1437497122181[……]

继续阅读

mysql事务行锁for update实现写锁的功能

http://songfeng-123.iteye.com/blog/2342101

 

在电子商务里,经常会出现库存数量少,购买的人又特别多,大并发情况下如何确保商品数量不会被多次购买。其实很简单,利用事务+for update就可以解决。我们都知道for update实际上是共享锁,是可以被读取的。但是如何在执行时,不被读取呢。

简单来说:假设现在库存为1,现在有A和B同时购买

1、先开启一个事务,执行sql

  1. select stock from good where id=1 for update;//查询good表某个商品中stock的数量[……]

    继续阅读

从关系型Mysql到Nosql HBase的迁移实践

http://cio.it168.com/a2013/1122/1564/000001564020_all.shtml

https://github.com/xiaomi/Minos

 

手把手教你玩转小米Minos-小米-武泽胜-Minos[……]

继续阅读

Mysql中MyISAM引擎和InnoDB引擎的比较

http://www.cnblogs.com/zlcxbb/p/5757173.html

 

结论

如果不清楚自己应该用什么引擎,那么请选择InnoDB,Mysql5.5+的版本默认引擎都是InnoDB,早期的Mysql版本默认的引擎是MyISAM

 

MyISAM 和 InnoDB的适用场景

MyISAM适合:(1)做很多count 的计算;(2)插入不频繁,查询非常频繁;(3)没有事务。

InnoDB适合:(1)可靠性要求比较高,或者要求事务;(2)表更新和查询都相当的频繁,并且表锁定的机会比较大的情况。

 [……]

继续阅读

MySQL 面试题目

http://www.cnblogs.com/zengkefu/p/5716190.html

 

1, mysql的复制原理以及流程。

(1)先问基本原理流程,3个线程以及之间的关联。

 

 

 

 

 

(2)再问一致性,延时性,数据恢复。

 

 

(3)再问各种工作遇到的复制bug的解决方法

2,mysql中myisam与innodb的区别,至少5点。

(1) 问5点不同

 

1>[……]

继续阅读

IOS

RxSwift 入坑解读-你所需要知道的各种概念

http://www.codertian.com/2016/11/27/RxSwift-ru-keng-ji-read-document/

http://ios.jobbole.com/91994/

 

相信大家很早就听说过函数式响应编程概念,我是去年面试的时候接触到函数式响应编程的,当时也是第一次接触到MVVM这个概念,转眼都一年过去了,我却没有在函数式响应编程上做深入的研究,说来还真是惭愧。

不过最近由于想要使用RxSwift,所以趁这个时候好好接触和研究一下传说中的函数式响应编程,由于网上关于RxSwift的教程资料很少,这篇文章其实就是最RxSwift[……]

继续阅读

给 Android 开发者的 RxJava 详解

http://gank.io/post/560e15be2dca930e00da1083

https://github.com/rengwuxian/RxJavaSamples

 

前言

我从去年开始使用 RxJava ,到现在一年多了。今年加入了 Flipboard 后,看到 Flipboard 的 Android 项目也在使用 RxJava ,并且使用的场景越来越多 。而最近这几个月,我也发现国内越来越多的人开始提及 RxJava 。有人说『RxJava 真是太好用了』,有人说『RxJava 真是太难用了』,另外更多的人表示:我真的百度了也谷歌了,但我还是想问:[……]

继续阅读

C#

泛型

https://docs.microsoft.com/zh-cn/dotnet/csharp/programming-guide/generics/index[……]

继续阅读

扎克伯格哈佛大学毕业演讲

  1. 告诉你一个秘密:没有人在开始的时候就知道该怎么做;
  2. 想法开始并不完整,只有不断努力,它们才会变得清晰;
  3. 理想主义真的很好,但要做好被误解的准备;
  4. 为什么不能让每个人都能接受个性化的教育。

[……]

继续阅读

发现市场机会,比一味地做技术更重要

[……]

继续阅读

每个行业都有做的可能性,只看自己愿不愿意做

先做个什么,而不是纠结做什么[……]

继续阅读

java技术文章

https://my.oschina.net/jeffli1993/blog

https://my.oschina.net/u/3080373/blog[……]

继续阅读

angular2学习资源

http://learnangular2.com/

https://github.com/ntesmail/angular-webpack-template

http://shark.mail.netease.com/shark-angular2/index.html

https://www.gitbook.com/book/zhongsp/typescript-handbook

https://blog.thoughtram.io/

http://ngcourse.rangle.io/index.html

 [……]

继续阅读

angular4学习笔记

代码:https://github.com/stormrabbit/gundam-meister

 

Angular4学习笔记(一):准备和环境搭建

Angular4学习笔记(二):绑定和分包

Angular4学习笔记(三):router

Angular4学习笔记(四):service

Angular4学习笔记(五):http

Angular4学习笔记(六):解耦

Angular4学习笔记(七):界面优化

 [……]

继续阅读

CSS

炫酷网站demo

https://www.68mall.com/

http://mynameismatthieu.com/WOW/[……]

继续阅读

CSS

移动端适配方案(下)

https://github.com/riskers/blog/issues/18#issuecomment-177721617

 

上一篇介绍了像素和视口这些基本概念,现在接着移动端的适配方案。

推荐一篇文章:MobileWeb适配总结,里面说到的三种布局方法已经说的很详细,还分别做了demo,我就不做了,这里说说三种方案的原理以及我使用中的感受,希望各为互补,大家理解是最重要的。

之前做过PC页面的人聊的最多的就是『兼容』,这是因为浏览器之间的差异引起的,不再多说。而移动端是基本没有『兼容』的问题的,全是CSS3,简直不要太开心。可是『适配』问题随之而来。[……]

继续阅读

CSS

移动端适配方案(上)

https://github.com/riskers/blog/issues/17

 

要搞懂移动端的适配问题,就要先搞明白像素和视口。

像素

在移动端给一个元素设置 width:200px 时发生了什么?这里的px到底是多长呢?像素是网页布局的基础,但是我们一直在用直觉使用它。

其实存在两种像素:

1. 设备像素

屏幕的物理像素,任何设备屏幕的物理像素的数量都是固定不变的,单位是pt

2. CSS像素

在CSS、JS中使用的一个抽象的概念,单位是 px

顺便说下,CSS像素也可以称为设备独立像素(device-independen[……]

继续阅读

把切图学好我就可以出山了

[……]

继续阅读

JS如何判断滚动条是否滚到底部

http://blog.csdn.net/xue110110/article/details/45558365?locationNum=4

 

摘要:判断滚动条到底部,需要用到DOM的三个属性值,即scrollTop、clientHeight、scrollHeight。scrollTop为滚动条在Y轴上的滚动距离。clientHeight为内容可视区域的高

分享到:
判断滚动条到底部,需要用到DOM的三个属性值,即scrollTop、clientHeight、scrollHeight。
scrollTop为滚动条在Y轴上的滚动距离。
clien[……]

继续阅读

一些有用的网站和库

https://github.com/mrdoob/three.js

https://github.com/furnishup/blueprint3d

https://github.com/concord-consortium/drawing-tool

https://www.growingio.com/(http://dn-growing.qbox.me/vds.js)

http://www.kujiale.com/[……]

继续阅读

注意力在哪里,结果就在那里

[……]

继续阅读

英语(语法)、flexible(css,less)

[……]

继续阅读

mac软件下载

http://xclient.info/[……]

继续阅读

Git

Git分支管理策略

http://www.ruanyifeng.com/blog/2012/07/git.html

 

如果你严肃对待编程,就必定会使用”版本管理系统”(Version Control System)。

眼下最流行的”版本管理系统”,非Git莫属。

相比同类软件,Git有很多优点。其中很显著的一点,就是版本的分支(branch)和合并(merge)十分方便。有些传统的版本管理软件,分支操作实际上会生成一份现有代码的物理拷贝,而Git只生成一个指向当前版本(又称”快照”)的指针,因此非常快捷易用。

但是,太方便了也会产生副作用。如果你不加注意,很可能会[……]

继续阅读

laravel在nginx上配置子文件夹访问及gogs子文件夹反向代理访问

https://asked.io/host-laravel-in-a-sub-directory-with-nginx

 

    location ^~ /api {
        alias /home/wwwroot/default/api/public;
        try_files $uri $uri/ @api_rewrite;

        location ~* \.php {
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;[......]

继续阅读

图标字体iconfont

在线生成图片字体和png图片

http://iconfont.cn/[……]

继续阅读

react-redux

 

http://www.ruanyifeng.com/blog/2016/09/redux_tutorial_part_one_basic_usages.html

https://www.zhihu.com/question/41312576?sort=created

我觉得redux的思想很简单,其实说白了就是一个reduce函数,state不断通过reducer处理生成新的state

 [……]

继续阅读

关注感知

[……]

继续阅读

MySQL性能优化总结

http://www.cnblogs.com/luxiaoxun/p/4694144.html

 

一、MySQL的主要适用场景

1、Web网站系统

2、日志记录系统

3、数据仓库系统

4、嵌入式系统

二、MySQL架构图:

 

三、MySQL存储引擎概述

1MyISAM存储引擎

MyISAM存储引擎的表在数据库中,每一个表都被存放为三个以表名命名的物理文件。首先肯定会有任何存储引擎都不可缺少的存放表结构定义信息的.frm文件,另外还有.MYD和.MYI文件,分别存放了表的数据(.MYD)和索引数据[……]

继续阅读

MySQL 性能优化的最佳20多条经验分享

http://www.jb51.net/article/24392.htm

http://coolshell.cn/articles/1846.html

 

今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显。关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我们程序员需要去关注的事情。

当我们去设计数据库表结构,对操作数据库时(尤其是查表时的SQL语句),我们都需要注意数据操作的性能。这里,我们不会讲过多的SQL语句的优化,而只是针对MySQL这一Web应用最多的数据库。希望下面的这些优化技巧对你有用。
1. 为查询缓存优[……]

继续阅读

提升自身内功,总会有机会的

[……]

继续阅读

都有一个从粗糙到成熟过程的

[……]

继续阅读

熟能生巧,多写多练

[……]

继续阅读

不管外界环境怎么变,提升自身核心竞争力是最根本的

[……]

继续阅读

书读百遍其义自见,看代码也是一样的道理

[……]

继续阅读

2017年目标:做CTO

[……]

继续阅读

CSS

H+ 后台主题UI框架

http://www.zi-han.net/theme/hplus/[……]

继续阅读

基于vue2的cnode社区

基于vue2 + vue-router + vuex + ES6 + less + flex.css重写vue版cnode社区,使用webpack打包

https://github.com/lzxb/vue-cnode

 [……]

继续阅读

Vue 音乐搜索、播放 Demo

https://github.com/Sioxas/vue-music[……]

继续阅读

linux强制覆盖拷贝

\cp 源目录 目标目录[……]

继续阅读

Flex 布局教程:语法篇

http://www.ruanyifeng.com/blog/2015/07/flex-grammar.html

 

网页布局(layout)是CSS的一个重点应用。

1475626367-1715-bg2015071001

布局的传统解决方案,基于盒状模型,依赖 display属性 + position属性 + float属性。它对于那些特殊布局非常不方便,比如,垂直居中就不容易实现。

1475626370-1657-bg2015071002

2009年,W3C提出了一种新的方案—-Flex布局,可以简便、完整、响应式地实现各种页面布局。目前,它已经得到了所有浏览器的支持,这意味着,现在就能很安全地使用这项功能。

1475626369-1968-bg2015071003

Flex布局将成为未来布[……]

继续阅读

JS利用正则配合replace替换指定字符

http://www.jb51.net/article/43949.htm

 

定义和用法

replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。

语法

stringObject.replace(regexp,replacement)

参数  描述
regexp 必需。规定了要替换的模式的 RegExp 对象。请注意,如果该值是一个字符串,则将它作为要检索的直接量文本模式,而不是首先被转换为 RegExp 对象。
replacement 必需。一个字符串值。规定了替换文本或生成替换文本的函数。[……]

继续阅读

Java可以加深我对PHP的理解

[……]

继续阅读

MySQL的btree索引和hash索引的区别

Hash 索引结构的特殊性,其检索效率非常高,索引的检索可以一次定位,不像B-Tree 索引需要从根节点到枝节点,最后才能访问到页节点这样多次的IO访问,所以 Hash 索引的查询效率要远高于 B-Tree 索引。

可 能很多人又有疑问了,既然 Hash 索引的效率要比 B-Tree 高很多,为什么大家不都用 Hash 索引而还要使用 B-Tree 索引呢?任何事物都是有两面性的,Hash 索引也一样,虽然 Hash 索引效率高,但是 Hash 索引本身由于其特殊性也带来了很多限制和弊端,主要有以下这些。

(1)Hash 索引仅仅能满足”=”,”IN”和”<=>”查询,[……]

继续阅读

php

实现Nginx中使用PHP-FPM时记录PHP错误日志的配置方法

http://www.jb51.net/article/49645.htm

 

最近在本地搭建的LNMP的开发环境。为了开发的时候不影响前端的正常开发就屏蔽的PHP里面php.ini中的一些错误提示。但是这样一来,就影响到了后端开发的一些问题比如不能及时调试开发中的一些问题

nginx与apache不一样,在apache中可以直接指定php的错误日志,那样在php执行中的错误信息就直接输入到php的错误日志中,可以方便查询。

在nginx中事情就变成了这样:nginx只对页面的访问做access记录日志。不会有php的error log 信息。ng[……]

继续阅读

php

php错误调试技巧

  1. 进入程序目录,运行php -S 0.0.0.0:5000,然后浏览器访问程序,就可以实时看到错误日志
  2. php-fpm可以开启慢执行日志

 [……]

继续阅读

php

常见的网站服务器架构有哪些?

https://www.zhihu.com/question/20657269/answer/15763722

 

[只是大框架介绍,实际使用中的不容易注意的细节太多了,需要经验的积累,才能运用娴熟]

以下的架构都是在假设已经优化过linux内核的情况下进行

初级篇:(单机模式)

假设配置:(Dual core 2.0GHz,4GB ram,SSD)

基础框架:apache(PHP) + Mysql / IIS + MSSQL
(最基础框架,处理一般访问请求)

进阶1:替换Apache为Nginx,并在数据库前加上cache层【数据库的[……]

继续阅读

JS库

layer弹层组件移动版:http://layer.layui.com/mobile/

MUI(含Switch等):http://dev.dcloud.net.cn/mui/components/

微信JS SDK:https://res.wx.qq.com/open/js/jweixin-1.0.0.js

VenoBox:http://lab.veno.it/venobox/

Swiper:http://www.idangero.us/swiper

 [……]

继续阅读

React/React Native资源网站总结

https://react.parts/native

http://react.rocks/

http://react-components.com/

https://rnplay.org/

http://www.reactnative.com/[……]

继续阅读

Javascript系列教程

http://www.jb51.net/list/list_3_1.htm

http://www.ruanyifeng.com/blog/javascript/

https://www.youtube.com/user/learncodeacademy

http://es6.ruanyifeng.com/[……]

继续阅读

前端Photoshop基础

Adobe FireWorks切图和SVG的处理

Adobe Photoshop 切图

 [……]

继续阅读

Dockerizing a Node.js web app

https://docs.docker.com/examples/nodejs_web_app/

 

Note: – If you don’t like sudo then see Giving non-root access

The goal of this example is to show you how you can build your own Docker images from a parent image using a Dockerfile . We will do that by making a simple Node.js hello world[……]

继续阅读

nodejs在线教程

MEAN Stack Tutorials (MongoDB, Express, Angular, Node)

https://www.youtube.com/watch?v=pU9Q6oiQNd0&index=4&list=PLoYCgNOIyGAApoDfJHjmMgGNlYenKg5jO[……]

继续阅读

NodeJs常用开发库

utility(一些常用的工具,如md5、base64编码):https://github.com/node-modules/utility

superagent(网络请求库,类似ios中的AFNetworking):http://visionmedia.github.io/superagent/

cheerio(nodejs版的jquery,可用来提取内容、抓取):https://github.com/cheeriojs/cheerio

eventproxy(控制并发,解决异步调用嵌套多层的问题):https://github.com/JacksonTian/eventpr[……]

继续阅读

Spring Boot(十一):Spring Boot 中 MongoDB 的使用

https://www.cnblogs.com/ityouknow/p/6828919.html

 

MongoDB 是最早热门非关系数据库的之一,使用也比较普遍,一般会用做离线数据分析来使用,放到内网的居多。由于很多公司使用了云服务,服务器默认都开放了外网地址,导致前一阵子大批 MongoDB 因配置漏洞被攻击,数据被删,引起了人们的注意,感兴趣的可以看看这篇文章:场屠戮MongoDB的盛宴反思:超33000个数据库遭遇入侵勒索,同时也说明了很多公司生产中大量使用mongodb。

MongoDB 简介

MongoDB(来自于英文单词“Humongous”,中文含义为[……]

继续阅读

十面阿里,七面头条

https://mp.weixin.qq.com/s/B6V9Z0MMvY7E3plhvPIzRw

 

面经

阿里巴巴

一面(36分钟)芝麻信用

1.hashmap和hashtable区别
2.为什么产生死锁
3.jvm类加载
4.java反射获取私有属性,改变值
5.反射用途
6.所用数据库
7.项目难点,问题
8.如何解决项目中遇到的问题
9.项目中遇到最自豪的地方
10.会什么算法

二面(44分钟)支付宝创新

1.讲项目
2.数据库乐观锁使用
3.状态机
4.如何解决状态机不对问题
5.如何分库分表
6.MySQL极限
7.Has[……]

继续阅读

Maven deploy部署jar到远程私服仓库

https://baijiahao.baidu.com/s?id=1593077276815322468&wfr=spider&for=pc

 

一、配置私服账号密码

修改maven配置文件,在$MAVEN_HOME/conf/setting.xml中增加如下配置:

注意,这里配置的id为releases何snapshots,当然可以改为其他,先记得这里有过id的配置,后面有用

二、配置远程发布到私服

修改项目pom文件,,增加如下配置:

注意,这里的id就是之前配置的id

三、执行部署操作

方式一,直接使用mvn[……]

继续阅读

Spring生态研习【三】:Spring-kafka

https://www.cnblogs.com/shihuc/p/9403731.html

 

1. 基本信息介绍


基于spring的kafka应用,非常简单即可搭建起来,前提是要有一个kafka的broker集群。我在之前的博文里面已经介绍并搭建了一套broker环境,参考Kafka研究【一】:bring up环境

另外,要注意的是kafka基于spring框架构建应用,需要注意版本信息,下面是官方要求:

Apache Kafka Clients 1.0.0
Spring Framework 5.0.x
Minimum Java version:[……]

继续阅读

800万的学区房还有那么多人挤破头要买,学区房真的这么重要吗?

https://baijiahao.baidu.com/s?id=1608040200319766114

 

真正能够成功的人,都是挣脱了父母预设的。

 

要不是养了一个小孩,我绝对想不到自己还有这么焦虑的一天。

头两年,吃喝拉撒事事操心,把孩子养到能说会跳有顽强的生命力,这中间的苦咱就不说了。好不容易上了幼儿园,还没等身体和钱包缓口气,突然发现大家都在讨论学区房了!

我的内心是崩溃的:小孩才刚上幼儿园,现在看学区房也太早了吧?

妈妈群里就有人说了:不早了,今年某名校一表生都要求提前三年落户,晚了买到学区房也不一定进得去。

跑[……]

继续阅读

生产环境JVM内存溢出案例分析

https://mp.weixin.qq.com/s/1611pHr-rH325U5Mx6qiHw

 

如果我们所在公司的业务量比较大,在生产环境经常会出现JVM内存溢出的现象,那我们该如何快速响应,快速定位,快速恢复问题呢?

本文将通过一个线上环境JVM内存溢出的案例向大家介绍一下处理思路与分析方法。

案例:架构组接到某项目组反馈,Zabbix监控上显示JMX不可用,请求协助处理。

分析思路:

  • JMX不可用,往往是由于垃圾回收时间停顿时间过长、内存溢出等问题引起的。
  • 线上故障分析的原则是首先要采取措施快速恢复故障对业务的影响,然后才是采集信[……]

    继续阅读

判断Bigdecimal类型是否等于0的方法

https://blog.csdn.net/xingxiupaioxue/article/details/78055765

 

1.我之前用来判断Bigdecimal类型是否等于0的方法
b.equals(BigDecimal.ZERO);
用equals方法和BigDecimal.ZERO进行比较。
2.上面方法存在的问题
有一天,调用这个这句代码的时候,传入的确实是0,但却返回false
查看源代码发现:

Bigdecimal的equals方法不仅仅比较值的大小是否相等,首先比较的是scale(scale是bigdecimal的保留小数点位数,[……]

继续阅读