`
mabusyao
  • 浏览: 257581 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论
文章列表
大家都知道一个java应用项目可以打包成一个jar,当然你必须指定一个拥有main函数的main class作为你这个jar包的程序入口。 具体的方法是修改jar包内目录META-INF下的MANIFEST.MF文件。 比如有个叫做test.jar的jar包,里面有一个拥有main函数的main class:test.someClassName 我们就只要在MANIFEST.MF里面添加如下一句话: Main-Class: test.someClassName 然后我们可以在控制台里输入java -jar  test.jar即可以运行这个jar。 但是我们这 ...
验证是否已经安装了MySQLdb: ========================================================== d:\usr\local\Python25>python Python 2.5.4 (r254:67916, Dec 23 2008, 15:10:54) [MSC v.1310 32 bit (Intel)] onwin32 Type "help", "copyright", "credits" or "license&quo ...
今天试图在家里构建一个Apache + python/Django + MySQL 的系统。结果非常出乎意料的在python连接MySQL这里出了一堆问题。 提到连接数据库,我首先想到的就是去MySQL官网上找基于python的connector。结果真让我找到了一个,可以开始处在开发版本中。网上似乎也没有多少人使用。 搜索了一下,似乎大多数人用的是另一个开源的第三方包,名字叫MySQLdb,然而这个版本在sourceforge上竟然没有window版本的下载,直接无语。找了半天,在某个不知名网站上找到了网友帮忙编译好的windows安装版。 经过一番努力,终于下载下来了,结果一安装,居然 ...
今天在论坛上看到的几个题,有几个貌似还挺有意思的。 public static void test() { String x = "hello"; String y = "world"; String z = new String("helloworld"); String a = "helloworld"; System.out.println("x == hello:" + (x == "hello" ...
ArrayList 转换成数组 ArrayList提供public <T> T[] toArray(T[] a)方法返回一个按照正确的顺序包含此列表中所有元素的数组;返回数组的运行时类型就是指定数组的运行时类型。如果列表能放入指定的数组,则返回放入此列 表元素的数组。否则,将根据指定数组的运行时类型和此列表的大小分配一个新的数组。 如果指定的数组能容纳列表并有剩余空间(即数组的元素比列表的多),那么会将数组中紧跟在集合末尾的元素设置为 null。这对确定列表的长度很有用,但只 在调用方知道列表中不包含任何 null 元素时才有用。 String[] array = (String ...
今天和同事讨论一道面试题:“是否有办法禁用String的equals方法?” 有两个一下子就能想到的办法: 1,修改源码重新打包。 2,利用类加载器加载一个虚假的类。(此方法如果我没记错的话,应该是不可行的,java虚拟机上有详细介绍) 然后如果不用这两种办法,而是在代码级别是否可以解决呢? 我首先想到的就是是否可以利用String类在JVM中的class对象来解决,其实也就是反射机制。我在Method类里找到了一个setAccessible方法,尝试了下: String test = "hello world!"; Method[] metho ...
早上刷牙的时候想到一个问题:一年有365天是因为地球绕太阳转一圈是365天,那么每月是多少天究竟有什么规律呢? 为什么有的月份是28天,有的是30天,还有的是31天呢? 如果说中国的农历还有点道理,因为正好是按照月圆月缺来的变化来的,而公历并没有按照这样的规律,公历里面每个月有几天究竟是谁说了算了?凭啥2月就非要比别人少两天呢,为啥不从3月里面抽一天出来给它呢? 我记得小时候被月份的时候,老师教我说,“7月大,8月大”, 就想着手指头关节到那个地方拐了个弯就行了。 记是记住了,可是为啥7月大后面不是8月小呢?那样岂不是更有规律些?而且日子总数也能匹配上。 今天咨询了下谷歌同学,得到如下 ...
关于软件神话,摘抄一些句子。觉得还是很有道理的,人常常会在同一个问题上反复犯错误,最好的解决办法,就是记下来。 管理者的神话:负责软件的管理者象大多数其他行业的管理者一样,都有巨大的压力,要维持预算、 ...
封装和信息隐藏是面向对象编程语言中的两个重要的概念,我们可以认为两者是同一事物的不同表述,信息隐藏是目的,而封装则是手段。 我们知道,在c++/Java中,有访问修饰符public, protected和private,来对变量或者方法的访问域进行设置,而在JavaScript中,并没有类似的修饰符。因此,我们必须通过模拟的方法来达到这一目的。 在讨论如何模拟private之前,有几个JavaScript的重要概念需要先了解一下: Scope, Nested Functions, Closures 我们先来看一段代码: function foo() { var a = 10; fu ...
想要在JavaScript中应该面向对象的设计模式,首先就需要JavaScript支持某些面向对象的语言特性,比如说继承,封装,多态等等。至于这些语言特性所带来的好处,这里就不多说了。如果你并不打算使用JavaScript设计非常复杂的应用,你也应该对这些东西有所了解,至少它可以帮助你把代码写的更简洁,同时它也提供了一些写JavaScript代码的新思路。 为何要模拟接口?(Interface) 接口(Interface)是面向对象语言中很重要的一个概念,它为协作的开发人员提供了一个统一的开发协议,“面向接口编程而不是面向实现编程”是每个OO程序员都必须要知道的基本准则。同时,也有很多设计 ...
JavaScript本身并不是完全的面向对象的语言,它和C++/Java的相似程度还没有和Lisp等函数式编程语言来得接近。 有人说,JavaScript是披着面向对象的语法糖衣的函数式编程语言。 想要学好JavaScript, 对它的某些特性就不得不有所了解: 1. 灵活性 JavaScript提供了许多灵活的方式来实现某个特定的功能,你可以用简单的,面向进程的方式来实现,你也可以用很复杂的,面向对象的方法。 举个例子,如果你曾经是一个C开发人员: /* Start and stop animations using functions. */ function startAni ...

UML和模式应用

真乃神书也。 每个程序员都应该好好读一读。
我们常说stateful session bean指的是该session bean可以保存会话状态,对于每一个client,都有其相应的实例。当会话结束时,stateful session bean也会被销毁。而对于stateless session bean,可能则由一个或几个实例,服务于所有的client,当client结束调用时,stateless session bean实例会被保留,供以后使用。 这也是为什么我们说stateless的性能要比stateful好。 另一方面,多个client可能使用同一个stateless session bean实例,表明stateless是非线程 ...
最近项目尚未启动,于是花了点时候复习一些以前学习过的东西,诸如socket, thread, RMI, JDBC等等。 一轮学习下来,最大的感受就是,现在各种的框架实在是太多了,以至于我们都忘记了这些底层的东西,其实很多时候,框架能提供给我们的,未必是我们真正想要的东西。而当我们真正理解了底层的这些知识,学习这些框架也变得简单的多。 用Thread和Socket写了一个非常傻瓜的通讯连接,但是个人感觉还是获益匪浅。 import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOExcep ...
先来看一段关于Java fiannlly 的定义, 百度过来的: finally通常和try/catch语句一起使用,确保了无论是否发生异常,finally里面的代码都会被执行。 关于这个定义,我想起来之前遇到的一个面试题,如果在try语句中return了,finally里面的代码还会执行么? public static void main(String[] args) { try { System.out.println("try block"); ret ...
Global site tag (gtag.js) - Google Analytics