- 博客(97)
- 资源 (6)
- 收藏
- 关注
原创 重识 JavaScript —— 闭包(三)
什么是闭包?这确实是个问题,我现在答不出来。在这里想聊一个有趣的现象,在中学时代,常常有老先生在解答我们提出问题时,他们可以给出正确的结果。但是说不出个所以然出来,然后老先生会告诉我们: 这个东西阿,只可意会不可言传呐,你们多练习就可以自行体会其中的奥义啦。我认为这世间的事物可意会即可言传,不可言传者只能说明水平还不够,还得修行。古有诸葛孔明在《隆中对》用寥寥数语为刘备做了一个缜
2018-01-20 02:08:12
423
原创 重识 JavaScript —— 作用域(二)
Javascript 语言特有的”链式作用域”结构(chain scope)即子对象会一级一级地向上寻找所有父对象的变量。所以,父对象的所有变量,对子对象都是可见的,反之则不成立。块作用域与函数作用域函数可以访问函数外部申明的变量,但是函数外部不能反过来访问函数内部的局部变量。需要注意的是在 JavaScript 中,区域块(if 、for、while、switch、try)内的变
2018-01-18 23:43:58
372
原创 重识 JavaScript —— 方法的重载(一)
关于脚本语言的误会起初对于脚本语言,也就是刚开始学习 JS 的时候了,是带有一定的误会的,现在看来还挺好玩的,那时候觉得脚本语言就是弱语言也就是“很弱”的语言了,无法设计出很复杂的程序。 对不起,误会你了。所以决定写一个重识(重拾)JS 系列的文章,以此谢罪。方法的重载(Function overloading)先看百度百科中对于方法重载的定义 方法重载是指
2018-01-15 22:02:47
537
原创 【问题解决】Auth 2.0 登录成功回调方法
絮絮叨第三方的登录的解决方案通常有两种方式,一是打开一个新的标签页,然后登录回调回来; 二是通过父窗口打开一个子窗体去第三方登录,登陆成功时关掉子窗体回到父窗口。问题来了我的父窗体怎么样才知道子窗体被关闭了呢? 查了下 w3c 里面的文档,貌似并没有类似 onWindowClose 这样的回调函数。解决方案将打开的这个窗口对象赋值给一个 jQuery 对象,在主窗
2017-07-26 20:39:44
5766
原创 【Docker】 windows10 docker 使用
docker 之前在 Windows 和 Mac OS 上的版本都是通过 Linux 虚拟机的形式,而现在 Docker 在 Windows 10 和 Mac OS 上已经有了支持的稳定版本,既然有了稳定版本那就来尝尝鲜,一起来 Docker 这艘船上来愉快的玩耍吧。准备下载 Docker : https://download.docker.com/win/stable/InstallDocker.
2017-07-14 00:40:32
20653
原创 【图解算法】排序算法——归并排序
0.什么是归并排序(Merge sort)?是创建在归并操作上的一种有效的排序算法,效率为O(n log n)。1945年由约翰·冯·诺伊曼首次提出。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用,且各层分治递归可以同时进行。(from zh.wikipedia.org)我对归并排序的理解是——分而治之,就是一个问题看起来很复杂,那就将他分开处理,这也是递归...
2017-06-12 23:54:04
8793
6
原创 【Jsoup】抓取文章并定制
关于Jsoupjsoup 是一款Java 的HTML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据。同类产品横向对比,从上图咋一看感觉 Jsoup 比名声大噪的 bs 还厉害的样子。 行吧先来试用一下看起来灰常全面的 Jsoup 。String html = "<html><head><titl
2017-05-24 00:54:49
1367
原创 java 内存溢出解决方案
此错误常见的错误提示 tomcat:java.lang.OutOfMemoryError: PermGen space tomcat:java.lang.OutOfMemoryError: Java heap space weblogic:Root cause of ServletException java.lang.OutOfMemoryError resin:java.l
2017-04-18 01:44:22
1714
原创 Spring Cache 缓存的使用
一句话说缓存缓存是一个能有效提升性能和节省资源的东西。Spring Cache 在Spring-context包下,所以引入了Spring Framework就可以使用Spring cache了,在maven项目中引入spring-context<!-- https://mvnrepository.com/artifact/org.springframework/spring-context -->
2017-04-17 14:57:24
1858
原创 Spring Task 任务调度器
一句话说spring taskspring task 是一个可以让你的程序在你规定的时机执行规定好的动作,如同古人云:万事俱备只欠东风,那么东风来时即可一战。程序中理解spring task 在spring-core包下,我们只需引入<dependency> <groupId>org.springframework</groupId> <artifactId>spring-conte
2017-04-16 12:11:22
1708
原创 Spring Security 使web应用更加安全
一句话介绍Spring Security 是基于Spring AOP和Servlet过滤器的安全框架,安全主要包括两个操作“认证”与“验证”(有时候也会叫做权限控制)开始使用引入类库,例子中使用到的security版本是3.1 <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncodi
2017-04-15 14:11:02
2941
转载 数据库连接池性能横向比对(hikari druid c3p0 dbcp jdbc)
背景对现有的数据库连接池做调研对比,综合性能,可靠性,稳定性,扩展性等因素选出推荐出最优的数据库连接池 。 NOTE: 本文所有测试均是MySQL库测试结论 1:性能方面 hikariCP>druid>tomcat-jdbc>dbcp>c3p0 。hikariCP的高性能得益于最大限度的避免锁竞争。 2:druid功能最为全面,sql拦截
2017-04-13 17:34:51
1995
原创 【设计模式】单例模式
单例模式的作用在于保证系统中一个类只有一个实例单例模式 3 要素1.构造方法私有化 2.在类中创建类的唯一实例 3.给外部提供一个获取实例的方法java实现 public class Singleton { //构造方法私有化 private Singleton(){} //静态的唯一实例 private static Singleton singleton;
2017-04-09 22:48:25
1537
1
转载 【图解算法】Java GC算法
GC策略解决了哪些问题? 既然是要进行自动GC,那必然会有相应的策略,而这些策略解决了哪些问题呢,粗略的来说,主要有以下几点。 1、哪些对象可以被回收。 2、何时回收这些对象。 3、采用什么样的方式回收。 GC策略采用的何种算法 有关上面所提到的...
2017-04-07 12:16:51
2517
1
原创 【RxJava】操作符的使用
关于操作符操作符是为了解决对Observable对象的变换的问题,操作符用于在Observable和最终的Subscriber之间修改Observable发出的事件。 RxJava提供了很多很有用的操作符。Subscribers更应该做的事情是“响应”,响应Observable发出的事件,而不是去修改,让专业的人去做专业的事。所以修改就交给操作符吧.map对输入做一定处理之后再进行输出原理实现代码
2017-03-23 14:02:50
1562
原创 【Python】健壮的爬虫
还记得上次的发车(探索)吗?小伙伴有木有出现爬虫程序出现异常停止吗?上次没上车的童靴可以点击传送门那么问题来了为啥我们的爬虫程序会中途死亡?那么我们需要了解的是如何反制爬虫? 知道了他们的防守方式才能使我们的进攻更为有效! 通常很多网站不允许非浏览器访问,还有一个 ip 频繁访问会短暂禁止该IP访问。所以我们需要做的事情就是将自己的爬虫程序伪装为浏览器访问并且在 ip 被禁的时候使用代理 ip
2017-03-22 13:54:37
37899
原创 【问题解决】Packet for query is too large (1165 > 1024). You can change this value
问题描述:从字面上看max_allowed_packet 设置过小导致记录写入失败 mysql根据配置文件会限制server接受的数据包大小。 有时候大的插入和更新会受max_allowed_packet 参数限制,导致写入或者更新失败。问题解决:修改MySQL的配置文件my.cnf,如果你是使用的windows应该是my.ini文件改 网上的方案: max_allo
2017-03-21 23:05:12
3983
转载 【Python】反爬虫
你被爬虫侵扰过么?当你看到“爬虫”两个字的时候,是不是已经有点血脉贲张的感觉了?千万要忍耐,稍稍做点什么,就可以在名义上让他们胜利,实际上让他们受损失。一、为什么要反爬虫1、爬虫占总PV比例较高,这样浪费钱(尤其是三月份爬虫)。三月份爬虫是个什么概念呢?每年的三月份我们会迎接一次爬虫高峰期。最初我们百思不得其解。直到有一次,四月份的时候,我们删除了一个url,然后有
2017-03-20 15:30:15
2373
原创 代理加速 gradle 构建
在项目下的 build.gradle 文件中加入(替换掉)使用阿里云镜像buildscript { repositories { maven{ url 'http://maven.aliyun.com/nexus/content/groups/public/'} }}allprojects { repositories { maven{ ur
2017-03-20 12:34:50
1788
原创 Java中的内存和效率优化(持续更新)
0.转换字符串在java开发中,经常会有数字与字符串的转换,jdk也给了我们很多转换的方式,他们的效率变现不一a.数字类型转字符串,toString(), valueOf() & + “” public static void main(String[] args) { int loopTime = 100000; Integer i = 16516465;
2017-03-20 11:45:44
1848
转载 【RxJava】事件流数据过滤
现在你可以用 Rx 来处理大批量实时数据,但是如果把所有大批量数据整个打包发给你的话,使用 Rx 还有啥优势呢? 本节 我们将介绍一些操作函数(operators )来过滤数据、或者把所有数据变成一个需要的数据。如果你了解过函数式编程(functional programming)或者 Java 中的 Stream,则本节介绍的操作函数是非常眼熟的。本节中所有的操作符都返回一个不影响前一个 O...
2017-03-20 10:13:01
1632
转载 【RxJava】创建事件流
了解了 Rx 的概念,就要了解怎么创建和操作事件流了。操作事件流的原始实现是基于 C# 的 LINQ,而 LINQ 是受到 functional programming 启发的。如果你了解 LINQ 更容易理解本节内容, 如果不了解也没关系。我们将从最简单的内容开始介绍。 大部分的 Rx 操作函数(operators )用来操作已经存在的事件流。在介绍操作函数之前,先来看看如何创建一个 Obser...
2017-03-16 15:00:39
1598
转载 【RxJava】在Android中使用响应式编程
在第1,2,3篇中,我大概介绍了RxJava是怎么使用的。下面我会介绍如何在Android中使用RxJava.RxAndroidRxAndroid是RxJava的一个针对Android平台的扩展。它包含了一些能够简化Android开发的工具。首先,AndroidSchedulers提供了针对Android的线程系统的调度器。需要在UI线程中运行某些代码?很简单,只需要使用Android...
2017-03-16 14:16:41
1400
转载 【RxJava】RxJava响应式带来的好处
错误处理到目前为止,我们都没怎么介绍onComplete()和onError()函数。这两个函数用来通知订阅者,被观察的对象将停止发送数据以及为什么停止(成功的完成或者出错了)。下面的代码展示了怎么使用这两个函数:Observable.just("Hello, world!") .map(s -> potentialException(s)) .map(s -> anotherPot
2017-03-16 14:01:12
1569
转载 【RxJava】RxJava的生命周期管理
Rx 背后的理念是:无法知道事件流何时发射数据、也不知何时结束发射,但是你需要控制何时开始和结束接受事件。订阅者可能使用了一些资源,这些资源需要在停止接收事件的时候释放。 通过 subscription 可以实现生命周期管理。SubscribingObservable.subscribe 有好几个重载函数,每个函数都是某种情况的简化形式。Subscription subscri...
2017-03-16 13:49:36
1865
原创 【Python】从爬虫开始吧——爬取妹子图整站
首先得解决环境和工具的问题 Python基础教程 Python3基础教程 大家也可以去慕课网看视频学习哦,关于选择Python2还是Python3的问题,上手的话还是直接选择3吧。关于爬虫爬虫就是在互联网中执行爬取有用信息的程序,总的工作流程如下: 找到爬虫入口->获取目标链接->下载网页-> 解析网页 -> 获取价值信息 ->存库(文件保存)操作首先给自己一个伟大的小目标吧!或许明天的UC
2017-03-16 12:06:22
9512
原创 【J2EE】拒绝乱码(各种Spring等web框架)
乱码问题:在javaweb开发中三大问题之一:乱码,经常遇到,今天在这儿总结一下关于编码:UTF-8(8-bit Unicode Transformation Format)是一种针对Unicode的可变长度字符编码,又称万国码。我们需要做的是从网页,编译环境,数据库字符集使用统一字符即可解决javaweb开发中的乱码问题0.jsp文件使用utf-8编码<%@ page language="java
2017-03-14 21:13:40
1599
原创 关于大脑的思考模式
发问:大脑作为人的处理数据和分析问题的中心,你真的认识它吗?首先需要阐明的观点是:不要过分的相信任何‘真理’,我认为所有真理也是需要有一个Context(前提)的,至少在时间线上面下一秒会发生的事件是可能破坏掉这个Context的,所以说所有的事物我们都需要自己的思考,而不是把大脑交给他人,别人说 乐视(非广告) 就是这种 薯片。总而言之:别轻易相信没有经过你大脑的东西,包括你现在在阅读的
2017-03-13 11:51:08
2148
原创 【J2EE】SpringMVC JSON对于外键处理办法
对于web应用程序的异步请求,我们通常使用json数据格式返回,今天在SpringMVC控制器返回Json数据遇到一些问题,在这里做一个总结。问题描述:大致有有外键关系的实体可能出现循环读取导致栈溢出的问题; 有些字段需要,有些字段用不到,即不需要; 还有就是 LAZY 的属性读不到的问题。解决办法:首先导致循环读的问题,是由于两个有关系的实体你中有我,我中有你导致的,比如说一个一对多的关系中
2017-03-09 22:09:01
2360
转载 掌握这个套路,80%的问题你都能靠自己解决
信息爆炸的时代,信息的获取变得非常容易,但也有太多无效的信息。如何分析,过滤,筛选有效的信息至关重要。对于开发而言,搜索有用信息,是提高开发效率的利器。下面分享一些Stay在解决问题时的套路。包含分析需求,筛选,搜索,团队协作等一系列开发中可能遇到的问题。希望借此套路能提升大家的开发效率。qa01.png分析问题一个问题出现,必然有它的原因,场景,触发条
2017-03-08 21:11:07
2665
原创 【Linux】 文件管理操作命令
绝对路径&相对路径绝对路径:『 一定是由根目录 / 写起』,例如: /usr/share/doc 这个目录。 相对路径:『 不是由 / 写起』,例如由 /usr/share/doc 要到 /usr/share/man 底下 时,可以写成: 『 cd ../man』这就是相对路径得写法,相对路径意指『相对与目前工作目录的路径!』目录相关操作: cd, pwd, mkdir, rmdir cd
2017-03-08 16:03:08
1555
原创 【Maven】在Eclipse中使用Maven
Maven是一个强大的代码仓库,可以帮助我们自动下载并管理jar包。Get It下载地址:http://maven.apache.org/download.cgi下载解压缩之后对/conf/settings.xml配置文件配置maven 本地仓库 < localRepository>自定义一个路径作为本地仓库< /localRepository>然后开始Eclipse上的配置 新建一个见得mav
2017-03-07 21:20:18
2581
1
原创 【RxJava】走进RxJava 从关键类开始
我们知道RxJava是基于观察者模式的,所以其核心类肯定有被观察者 Observable 用于发射数据; 观察者Observer 用于接收处理数据;还有一个特殊的Subject 是 Observable 的一个扩展,同时还实现了 Observer 接口Subject同时作为观察者和 被观察者,可以用来转发事件,当做 Rx 中的 事件管道。class rx.Observable< T>interf
2017-03-07 17:29:11
1702
原创 【设计模式】观察者模式
啥是观察者模式呐?当对象间存在一对多关系时,则使用观察者模式(Observer Pattern)。比如,当一个对象被修改时,则会自动通知它的依赖对象。观察者模式属于行为型模式。 总结:天网恢恢 不疏不漏 所谓道高一尺魔高一丈也就是这样,只要你有政策(动作),我必然有对策实现方式(附图) 模拟不同的观察者对温度变化做出反应 被观察者类:Observable.javapackage com.l
2017-03-06 16:13:45
1569
原创 【服务器】在Linux上将Javaweb项目发布到Tomcat
工欲善其事必先利其器,首先我们得在Linux上准备好java环境,Linux快速搭建Java环境环境说明系统:ubuntu 14.04 LTS JDK版本1.8 Tomcat版本tomcat7 版本不一致也没关系,我们论方法,查看服务器tomcat版本和tomcat关联jdk的版本号 ps -ef|grep tomcat先弄清楚服务器的JDK和Tomcat版本号很重要,因为我们最好在本地
2017-03-06 15:52:09
3684
原创 【问题解决】 org.apache.commons.dbcp.SQLNestedException Cannot create PoolableConnectionFactory
问题描述: org.apache.commons.dbcp.SQLNestedException, Cannot create PoolableConnectionFactory(The Network Adapter could not establish the connection)问题解决: ①首先想到的是驱动包的问题,检查后没问题。 ②检查配置文件的问题,由于我是通过MyEcl
2017-03-03 20:13:41
15042
原创 【RxJava】种下一棵树RxJava
前言在去年(2016)的夏天 Rx系列的东西好像被贴上了一种叫做‘’牛逼‘’的标签 对于RxJava的了解从 扔物线 的一篇 给 Android 开发者的 RxJava 详解 文章开始,记得当时看这篇文章花费整整一个下午的时间,看完之后一片雾水,但是也有所启发(也算是留下了一个印象),今天再次打开了 给 Android 开发者的 RxJava 详解 这篇文章通读了一遍,收获颇多。正文0.什么是R
2017-03-03 12:13:40
1606
原创 【J2EE】ajax实现页面无刷新完成crud操作
0.首先还是按照惯例,上效果图(no picture, no …) 可以看到使用ajax异步的方式去做crud操作时,整个页面是没有刷新的(参考左上角的刷新按钮),这种体验更像是C/S架构1.AJAX即“Asynchronous Javascript And XML”(异步JavaScript和XML)——用于创建更好更快以及 交互性 更强的Web应用程序的技术。2.页面代码 emp_list
2017-03-02 22:49:41
4142
1
原创 【服务器】在Linux下搭建java环境
当前环境 系统 Ubuntu 14.04LTS 使用apt-get的方式来安装需要的软件快速搭建java环境 0.搜索相关安装包,为了更快的下载(Oracle官网下载会稍微慢一些)sudo apt-cache search jdk1.安装jdk7,期间会询问是否同意(Y/n)选择同意 Y 即可sudo apt-get install openjdk-7-jdk2.检查java环境java -ve
2017-03-01 11:53:05
1929
原创 【JavaEE】SSH全注解
1.下载必要核心jar包,并引入到项目 2.需要注意的spring配置文件,由与需要使用全注解的方式 配置文件和之前有些许不同<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/X
2017-02-28 21:27:51
1820
okhttp-x.x.x.jar okhttputils-x_x_x.jar okio-x.x.x.jar
2016-03-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人