如果你希望找一份有关Node.js的工作,但又不知道从哪里入手评测自己对Node.js的掌握程度。 本文就为你罗列了10个常见的Node.js面试题,分别考察了Node.js编程相关的几个主要方面。 在进入正文之前,需要提前声明两点: 这些问题只是Node.js知识体系的一个局部,并不能完全考察
1年前发布 2420阅读 评论
Bootstrap?是最受欢迎的Web前端框架之一。?自从官方2011年发布以来,Bootstrap?经过数次优化。?现在,Bootstrap是最稳定,响应最好的框架之一。它被各种水平的开发者所喜爱,因为通过使用Bootstrap,?他们能够在几分钟内设计一个功能齐全,有吸引力的前端页面。即使是一个只具
1年前发布 2124阅读 评论
前言 本文是异常内容的集大成者,力求全面,深入的异常知识研究与分析。本文由金丝燕网独家撰写,参考众多网上资源,经过内容辨别取舍,文字格式校验等步骤编辑而成,以飨读者。对于本文的内容,建议小白需要多多思考力求掌握,对于老手只需意会温故知新。对于本文的内容,属
1年前发布 2118阅读 评论
什么?你还不知道SQLite?那么我告诉你,SQLite是一个了不起的数据库,能够在实际生产环境中做真正的工作。在这篇文章中,我将简要说明5个我认为你应该在2016年使用SQLite的原因。 1.管理简单 你以前管理过Postgres数据库吗?为了确保数据库服务器的正确配置(共享缓冲区,有
1年前发布 1858阅读 评论
最近公司的项目在做夜间模式,使用了鸿洋的changeskin,一个非常好用的library,在这里总结一下使用过程中遇到的各种问题和解决办法。 用法 下载changeskin,作为module依赖至主项目,例如: dependencies { compile project(':changeskin') } 或者直接添加依赖: dependenc
1年前发布 2055阅读 评论
Java 8介绍了一些新语言以及运行时新特点。其中一个特点便是完全移除了持久代(PermGen),自从Oracle公司发布了JDK1.7后就已经宣布了这个决定。还有比如内部字符串,从JDK1.7开始就从持久代移除了,JDK8的发布彻底废除了它。在这个部分,我们会讨论持久代的继任者:Metaspace。
1年前发布 2389阅读 评论
前面我们已经讨论过JVM里不同的堆空间,这节我们会给你提供教程,是关于如何从你的活动的应用Java线程中确定它持有多少堆空间,以及在哪里占用。这里有个来自Oracle Weblogic 10.0生产环境的真实案例,它能使你更好的理解分析过程。 我们也会演示这种情况,过多的垃圾收集或者
1年前发布 2023阅读 评论
在生产系统上决定合适的Java堆大小不是一个容易的操作。许多性能问题的发生都是由于不恰当的Java堆容量的错误调整。这部分将从介绍一些技巧作为开头,它能帮助你在当前的或者新的生产系统上决定最佳的Java堆大小。其中一些技巧对预防OutOfMemoryError问题和内存泄露方面也同样
1年前发布 2319阅读 评论
Oracle HotSpot JVM 内存 Java HotSpot 虚拟机堆空间 这个部分将向你介绍Oracle Java HotSpot虚拟机里不同的Java堆内存空间概览。理解这个对于任何一个涉及到线上经常出现的内存问题的解决非常重要。而具有合适的Java 虚拟机堆空间的知识是很关键的。 Java虚拟机是你Java程序
1年前发布 1846阅读 评论
本文延续前一篇 文章 ,继续介绍简单基本的Gson用法。这篇文章我们将介绍如何将复杂的JSON对象解析为Java对象,其中Java对象的结构可以与JSON对象不一致。我们还会看到如何使用Gson反序列化器 ( JsonDeserializer ? Java文档 ) 将JSON对象映射为Java对象。 观察 请注意 ,文
1年前发布 4229阅读 评论
在第二部分中,你开发了一个能够处理HTTPGET请求的简易WSGI服务器。在上一篇的最后,我问了你一个问题:“怎样让服务器一次处理多个请求?”读完本文,你就能够完美地回答这个问题。接下来,请你做好准备,因为本文的内容非常多,节奏也很快。文中的所有代码都可以在Github仓
1年前发布 1870阅读 评论
在《自己动手开发一个 Web 服务器(一)》中,我给大家留了一个问题:如何在不对服务器代码作任何修改的情况下,通过该服务器运行Djando应用、Flask应用和Pyramid应用,同时满足这些不同网络框架的要求?读完这篇文章,你就可以回答这个问题了。 以前,你选择的Python网络框架
1年前发布 1936阅读 评论
有一天,一位女士散步时经过一个工地,看见有三个工人在干活。她问第一个人,“你在做什么?”第一个人有点不高兴,吼道“难道你看不出来我在砌砖吗?”女士对这个答案并不满意,接着问第二个人他在做什么。第二个人回答道,“我正在建造一堵砖墙。”然后,他转向第一个人,说
1年前发布 2535阅读 评论
作为一名维护生产环境Linux服务器的系统管理员,在有些情况下,你需要根据地理位置,有选择性地阻止或允许网络流量。比如说,你遇到了拒绝服务攻击,这些攻击主要源自在某一个国家注册的IP地址。在其他情况下,出于安全方面的原因,你又想要阻止外国来历不明SSH登录请求;或者
1年前发布 2298阅读 评论
Java对象的分配,根据其过程,将其分为快速分配和慢速分配两种形式,其中快速分配使用无锁的指针碰撞技术在新生代的Eden区上进行分配,而慢速分配根据堆的实现方式、GC的实现方式、代的实现方式不同而具有不同的分配调用层次。 下面就以bytecodeInterpreter解释器对于new指令
1年前发布 2050阅读 评论
前段时间空余时间比较多,打算尝试做一个图片选择器出来,仔细对比了很多自定义了图片选择器的应用,感觉最喜欢微信的界面效果,当然微博的功能更强大,还支持了LivePhoto,所以打算模仿微信的界面效果,瞄着微博的功能去做一个图片选择器出来。 一.? TZImagePickerController
1年前发布 3234阅读 评论
Android开发者在语言限制方面面临着一个困境。众所周知,目前的Android开发只支持Java 6(语言本身从Java 7开始进行了一些改进),因此我们每天只能使用一种古老的语言来进行开发,这极大地降低了我们的生产力,同时也迫使我们不得不编写大量的样板与脆弱的代码,然而这样的代
1年前发布 2106阅读 评论
我们先来看看几种常见的退出方法(不优雅的方式) 一、容器式 建立一个全局容器,把所有的Activity存储起来,退出时循环遍历finish所有Activity import java.util.ArrayList; import java.util.List; import android.app.Activity; import android.os.Bundle; public clas
1年前发布 1993阅读 评论
迄今为止,我们已经学些了众多gradle构建的概念以及如何运行tasks。在这一章,我们将对这些概念有一个更深的理解,然后开始构建我们自己的tasks。一旦我们掌握了如何编写自定义tasks,那么我们就可以试着编写自己的插件,以达到在多个项目中复用的目的。 在我们创建传统tasks之
1年前发布 2376阅读 评论
你现在正在看的是一篇使用教程。这里没有一系列的步骤,你需要做的是达到一些简单的效果。你将看到一个简单直接的工程,且有大量的注解。 所以如果你想深入了解OpenGL的着色器,并且你有一些很棒的点子,像是路径追踪,屏幕空间环境光遮蔽或者其他的什么——你将可以在这篇教
1年前发布 3944阅读 评论