201412-31 漫画:编程语言学习曲线 推荐 程序员Dobiasd在Github上绘制了七种编程语言的学习曲线,这些语言分别是:JavaScript、Java、C++、Python、Lisp、Haskell、PHP。备注:图中的红线表示自我评估、蓝线表示学习效率。声明:作者绘制该组漫画,仅供大家娱乐而已,并无其它恶意。 继续阅读 >
201412-30 值得阅读的C语言开源项目代码 1.WebbenchWebbench是一个在linux下使用的非常简单的网站压测工具。它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能,最多可以模拟3万个并发连接去测试网站的负载能力。Webbench使用C语言编写, 代码实在太简洁,源码加起来不到600行。下载链接:http://home.tiscali.cz/~cz210552/webbench.html2.CMockerycmockery是google发布的用于C单元测试的一个轻量级的框架。它很小巧,对其他开源包... 继续阅读 >
201412-30 Java Tcp协议socket编程学习 我学习到的主要步骤第一步:以特定端口(如4800)新建socket对象第二步:以系统输入设备构造BufferedReader对象,该对象用于接收系统键盘输入的字符第三步:以socket对象得到输出流来构造PrintWriter第四步:以socket对象得到输入流来构造相应的BufferedReader对象,该对象用于接收server端发送过来的信息我理解到的关闭socket:先开的后关闭,socket最后关闭。以下是客户端的代码实现:packagecom.fan.socket;importjava... 继续阅读 >
201412-30 JDBC的总结 JDBC归纳:DriverManger:驱动管理器类要操作数据库,必须先与数据库创建连接,得到连接对象publicstaticConnectiongetConnection(Stringurl,Stringusername,Stringpassword){}Connection:连接接口:通过DriverManger类的getConnection方法,将获得连接对象,执行sql语句必须借助语句对象(Statement)StatementcreateStatement();Statement:语句接口通过连接对象的cre... 继续阅读 >
201412-30 修复bug的12个关键步骤 boss:那么,你需要多长时间来修复这个bug?没有经验的程序员:给我一个小时?最多两个小时?我能马上搞定它!有经验的程序员:这么说吧,钓到一条鱼要多久我就要多久?!要多少时间才能修复bug,事先是很难知道的,特别是如果你和这些代码还素不相识的话,情况就更加扑朔迷离了。JamesShore在《TheArtofAgile 》一书中,明确指出要想修复问题得先知道问题的所在。而我们之所以无法准确估计时间是因为我们... 继续阅读 >
201412-29 Markdown 语法说明手册 Markdown是一种轻量级标记语言,能将文本换成有效的XHTML(或者HTML)文档,它的目标是实现易读易写,成为一种适用于网络的书写语言。Markdown语法简洁明了,易于掌握,所以用它来写作是件既效率又舒服的事情。我们所熟知的和一些大型CMS,如Joomla!、Drupal等都能很好的支持Markdown。我是因为写GitHub项目库中的Readme才开始接触Markdown。Markdown不是想要取代HTML,甚至也没有要和它相近,它的语法种类很少,只对应HTML... 继续阅读 >
201412-28 深入理解java虚拟机-第12章Java内存模型与线程 Java内存模型 主内存与工作内存:java内存模型规定了所有的变量都在主内存中,每条线程还有自己的工作内存。工作内存中保存了该线程使用的主内存副本拷贝,线程对变量的所有操作都必须在工作内存中进行。内存间交互操作:1lock作用于主内存的变量,它把一个变量标识为一个线程独占的状态。2unlock作用于主内存的变量,把锁定的变量释放出来3read作用于工作内... 继续阅读 >
201412-28 深入理解java虚拟机-第13章-线程安全与锁优化 线程安全java语言中的线程安全1不可变。Immutable的对象一定是线程安全的2绝对线程安全一个类要达到不管运行时环境如何,调用者都不需要额外的同步措施,通常需要付出很大甚至是不切实际的代价,在javaapi中标注自己是线程安全的类,大多数都不是绝对的线程安全3相对线程安全 4线程兼容 对象本身不是线程安全的,但是可以通过在调用端正确地使用同步手段来保证对象... 继续阅读 >
201412-28 jsp解决kindeditor在线编辑器struts图片上传问题 1、下载官网下载ckeditor,解压后去掉不需要的部分,仅需保留plugin,lang,theme文件夹,这三个文件夹中用不到的东西可以删除,比如lang文件下存放所有语言文件js,仅仅保留en.js和zh_CN.js即可,保留jsp文件夹下的json_upload.jsp文件和kindeditor.js文件即可,把jsp下面的jar导入1<span style="font-family:幼圆;font-size:18pt;"... 继续阅读 >
201412-28 Android 5.0 技术新趋势 由于Android的版本分裂比较严重,整个新系统升级可能需要一两年甚至更长时间。所以目前使用Android5.0的大部分是喜欢尝鲜的用户,同时现在市场上能够很好支持Android5.0的应用又很少,如果开发者能捕捉这个机会,从这些用户那里得到更好的反馈,或者更好的证明机会,都是非常有价值的。在Android5.0发布之后,我认为有几个地方可以让开发者做得更好,比如可以建立一个更好看的应用,或者能够解决在应用中最... 继续阅读 >
201412-26 黑马程序员-java基础知识+环境搭建和变量配置 一、dos命令软件:是一系列按照特定顺序组织的计算机数据和指令的集合。交互方式:图形化界面、命令行方式dir directory 显示文件和子目录 cd change directory 改变当前的路径(进入指定目录)md make directory 新建一个子目录(文件夹)rd remove directory 删除一个子目录(文件夹)cd.. 返回上一文件夹cd/&n... 继续阅读 >
201412-25 听说你要做网站?可你知道这些吗 推荐 现代Web后端技术超入门引言现在房价这么高,作为一个程序员只能靠做个网站看能不能卖出100万这样搏一手了。这里尝试介绍一下现代Web后端并解释一些常见术语,希望能够帮助平常不做Web的程序员迅速上手。我非常确信这篇文章里有很多概念不太对,如果发现哪里不太对的话请跟我讲...实现一个手动的Web服务器!1、这里的手动真的就是字面上的意思,这里我们要实现的效果是:2、在命令行中运行Server。3、在... 继续阅读 >
201412-23 java目录与classpath 目录结构描述jdkbin 编译器和工具demo 演示docs HTML格式的类库文档include 用于编译本地方法的文件jre java运行环境lib &... 继续阅读 >
201412-23 Java网络编程之概述 黑马程序员_毕向东_Java基础视频教程第23天-01-网络编程(概述)学习笔记 网络通讯三要素: 1.IP地址I.网络中设备的标识 II.不易记忆,可用主机名www万维网组织,baidu主机名,.com商业组织 .org教育组织III.本地回环地址:127.0.0.1主机名:localhost 2.端口号 I.用于标识进程的逻辑地址,不同进程的标识II.有效端口:0-65535,其中0-1024系统使用或保留端口。 &... 继续阅读 >
201412-22 “Hello world”不简单 由Kernighan和Ritchie合著的经典教程《TheCProgrammingLanguage》的开篇第一个C程序例子是打印简单的“helloworld”。从此之后,“helloworld”就成了描述一个人编写的第一个程序的代名词——不论是什么语言技术,即使实际上程序并没有在字样上输出“helloworld”几个字。对于初学者来说,这“helloworld”程序是让人恐怖的。他会想“我一定非常笨,连这... 继续阅读 >
201412-22 Android游戏开发设计步骤 如今搭载Android操作系统的手机数量比iPhone多得多。据悉,Android设备平均每天激活40万台。但iOS对开发商来说依旧是个更加有利可图、更受欢迎的平台。原因是:Android无需花钱买应用;众多设备和应用商店使得Android市场呈分散状态。1手机游戏开发简介游戏的本质就是在屏幕上不断地显示和更新图片,只不过不是胡乱地更新,而是根据程序逻辑来控制。一款完整的游戏需要多方面的知识,比如游戏的创意、背景、故事情... 继续阅读 >
201412-21 Java随机数的几种有趣用法 众所周知,随机数是任何一种编程语言最基本的特征之一。而生成随机数的基本方式也是相同的:产生一个0到1之间的随机数。看似简单,但有时我们也会忽略了一些有趣的功能。我们从书本上学到什么?最明显的,也是直观的方式,在Java中生成随机数只要简单的调用:java.lang.Math.random()在所有其他语言中,生成随机数就像是使用Math工具类,如abs,pow,floor,sqrt和其他数学函数。大多数人通过书籍、教程和课... 继续阅读 >
201412-21 Java中static变量作用和用法详解 static表示“全局”或者“静态”的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块,但是Java语言中没有全局变量的概念。被static修饰的成员变量和成员方法独立于该类的任何对象。也就是说,它不依赖类特定的实例,被类的所有实例共享。只要这个类被加载,Java虚拟机就能根据类名在运行时数据区的方法区内定找到他们。因此,static对象可以在它的任何对象创建之前访问,无需引... 继续阅读 >
201412-21 Java I/O底层是如何工作的? HOT 本博文主要讨论I/O在底层是如何工作的。本文服务的读者,迫切希望了解JavaI/O操作是在机器层面如何进行映射,以及应用运行时硬件都做了什么。假定你熟悉基本的I/O操作,比如通过JavaI/OAPI读写文件。这些内容不在本文的讨论范围。缓存处理和内核vs用户空间缓冲与缓冲的处理方式,是所有I/O操作的基础。术语“输入、输出”只对数据移入和移出缓存有意义。任何时候都要把它记在心中。通常,进程执行操作系统的I/O请... 继续阅读 >
201412-21 Java 9特性 Oracle已经公布,Java9首个增强计划集(众所周知的JEPs),已经确定会在2016年早些时候发布。三个新的API已经公布:ProcessAPI在更新后能够与操作系统中非JAVA相关的进程互动,目前使用的API存在诸多限制,这迫使开发人员经常求助于本地代码。这个API存在的主要风险是操作系统的异构性,尤其是Windows。该API的设计需要适应在不同的操作系统上的小型设备的部署工作,它还应该考虑多个Java虚拟机运行在同一个操作... 继续阅读 >
201412-17 最让程序员感到崩溃的10种编程语言 很显然,软件开发领域中的程序员对编程语言最有发言权。一种语言可能是一些程序员的最爱,但它同时也是另一些程序员的噩梦。如果你在编程领域呆了一段时间,你就迟早会发现有些语言由于古怪的语法、灵活性不够(或过于灵活)、差劲的调试功能或其它原因让你抓狂,甚至崩溃。根据程序员在Quora,Stack Overflow和Hacker News这三大国外论坛上的讨论,我们挑选了其中10大最让程序员不爽的编程语言,并解释了原因。下... 继续阅读 >
201412-16 如何开始编程语言?给初学者的几个小贴士 HOT 在美国,计算机科学是一个蓬勃发展的行业,并且它的薪资待遇是极好的。对于顶尖的、有才华的工程师需求从没间断过,这就是为什么学习代码看起来是一个有吸引力的选择。但是和任何新的技术一样,很难知道从何处开始。这里有一些你应该在早期采用的步骤,适合初学编程语言的人。从“拖拽”编程开始“拖拽编程”是一种基本的技术,可以让你通过拖拽块或其他视觉线索来创建代码,而不是手动编写基于文本的代码。Code.org,一个提供在... 继续阅读 >
201412-14 C语言快速学习与入门指南 有人认为,现在是java和.net的时代,有谁还需要C以及汇编呢?孰不知,java和.net是建立在软件之上的,是为了垄断市场而建立起来的体系,犹如挖好一个金壁辉煌的坑,请你往下跳,还自以为站在巨人的肩膀上,事实上成了坑底之蛙。要成为一个真正的程序员,并期望成为一个程序员高手,必须从机器出发,从cpu到操作系统,再到软件体系,高手的境界就是悟道后的明镜灵台,软件设计出神入化,我就是程序,程序就是我。旁观者李四说:此... 继续阅读 >
201412-14 C语言表达式中的类型隐式转换 先看下面一段程序,这段程序摘自《C专家编程》:#include<stdio.h>intarray[]={23,34,12,17,204,99,16};#defineTOTAL_ELEMENTS(sizeof(array)/sizeof(array[0]))intmain(void){intd=-1,x;/*........*/if(d<=TOTALTOTAL_ELEMENTS-2)x=array[d+1];/*........*/return0;}如果是有这样一段程序的话,你永远无法知道x的值到底是多少,因为这句赋值语句x=array[d+1];根本不会执行。原因在... 继续阅读 >