- 浏览: 120239 次
- 性别:
- 来自: 长沙
最新评论
-
come_for_dream:
残云cruel 写道师傅,你的新网站有bug,没地方评论。 心 ...
博客地址变更 -
残云cruel:
师傅,你的新网站有bug,没地方评论。 心塞啊!
博客地址变更 -
残云cruel:
呀,界面挺好看的啊,嗯呢 不错不错。年轻人 有前途,值得栽培 ...
写个web容器是不是很酷? -
come_for_dream:
yzsunlight 写道代码可否共享https://gith ...
写个web容器是不是很酷? -
yzsunlight:
代码可否共享
写个web容器是不是很酷?
文章列表
从此以后,我的博客均在我的个人博客:www.zhangdongxuan.com 进行发布,用以记录我新的轨迹,这是一个新的开始,或许我要换一种新的语言,或者会有一个更好的成长空间
同步访问共享的可变数据
- 博客分类:
- Effective Java
如果对共享的可变数据不能同步访问,其后果是非常可怕的,即使这个变量是原子可读写的。
在一个线程中终止另一个线程时使用Thread.stop方法是不安全,使用它会遭到数据破坏。通常的做法是轮询一个boolean域:
public class TestCode {
private static boolean stopRequested=false;
public static void main(String[] args) throws InterruptedException {
Thread thread=new Thread(new R ...
之前实习参与一个创新性的框架的开发工作,之前就有要开发一个框架的想法但是却一直没有付诸行动,这个项目也暴漏出了自己很多的不足,其中注解就是我一个很大的盲点,记得第一次使用注解是在使用Juint测试框架的时候使用@Test注解编写测试代码,当时就感觉好高端,竟然可以脱离main函数运行程序,之后使用Spring MVC中的各种注解像@Controller、@AutoWire、@RequestMapping、@RequestBody等注解的功能是相当好用省去了配置XML的麻烦。虽然使用过很多注解但是对注解的实现原理还是两眼一抹黑。所以现在正好利用这个机会一要探注解的奥妙。
...
Kafka
一个高吞吐量的(high-throughput)分布式消息系统
Features
Fast
A single Kafka broker can handle hundreds of megabytes(兆) of reads and writes per second from thousands of clients.
Scalable(可扩展)
Kafka is designed to allow a single cluster to serve as the central ...
最近看了一些书,加深了对程序设计的理解,发现了解计算机的底层是多么的重要,对于一些错过的事情我表示惋惜,当时也要加倍的学习。当自己被自己的努力所感动,全世界都会被你让路,好久没有这种感觉了。
简单工厂模式虽然简单,但存在一个很严重的问题。当系统中需要引入新产品时,由于静态工厂方法通过所传入参数的不同来创建不同的产品,这必定要修改工厂类的源代码,将违背“开闭原则”,如何实现增加新产品而不影响已有代码?这就引出了我要写的这篇博客---工厂方法模式
场景:现在需要生产不同的电子设备,其中的产品有笔记本,手机。其中的生产过程不能暴漏给用户,当然用户只需要的是最终的产品,并不关系这些电子设备是怎么创建出来的。
解决方法一:简单工厂方法:
Factory Method是一种 ...
大学之道,在明明德,在亲民,在止于至善。 《礼记 大学》
今天考完了安卓这门课,100分钟的考试50分钟就交卷离开考场了,回想一下大学生活就这么没了,虽然小菜现在还是大三但是大四学校安排 ...
最近小菜要考试了,小菜在大二上学期的时候对安卓做过一些编程,所以对学校开设的这门课也是情有独钟,明天晚上就要考试安卓了,小菜还是淡定的写篇博客压压惊
明天要考试了,速速总结如下
1、Activity的启动模式
standard:每次调用Activity的时候都创建一个(可以有多个相同的实例,也允许多个相同Activity叠加。)
singleTop:可以有多个实例,但是不允许多个相同Activity叠加。即,如果Activity在栈顶的时候,启动相同的Activity,不会创建新的实例,而会调用其onNewIntent方法。 singleTask:如果某个Activity是singleTask模式,那么Task栈中将会只有一个该Activity的实例。例如:现在栈的情况为:A B C D ...
1、The difference of Dalvik and JVM?** A、编译后的文件格式不一样 Dalvik是 .dex--->.odex。 JVM是 .class--->.jar B、基于的架构不一样(存储方式) Dalvik是基于寄存器的,是在cpu内部的,利用总线,效率会更高 JVM是基于栈的架构 **2、Android的体系结构** A、Application B、Application Framework Activity Manag ...
哈,本人现在大三还在为了学业奋斗,这些天很累,好多实验,也快要考试了,自己还负责的web重构和app开发任务还是比较重的。小菜小菜在这些时间里面进步也是蛮多的,为什么要写web服务器呢?不仅仅是因为比较酷哈,这也是我们的课程要求撒。当然要写就要写的比较好所以自己对这个实验也是蛮有兴趣的 。
服务器能够接受来自浏览器发来的的get的静态文件的请求,服务器可以处理来自浏览器的多次请求,因为这个服务器写出来花的时间并不长所以功能也想对来说简单些,不过小菜在日后会不断的完善期功能,当然也会参考Servlet规范写出支持Servlet的容器,不过这些都是后话了先看下面贴出代码并解释其过程 ...
在刚刚接触Java的时候就对类的加载体系做过一个小小的总结,但是现在感觉很有必要再次总结一下。
一、类的加载方法
1、ClassLoader的的基本概念:
与c与c++编写的程序不同,Java程序并不是可执行文件,而是有许多的类文件组成,每个文件对应一个Java类。而且这些类并不是全部装进内存,而是根据程序运行的需要逐步装载。ClassLoader是JVM的实现的一部分。
2、ClassLoader的加载流程
当运行第一个程序的时候JVM启动,运行bootstrap classloader,该加载器负责加载核心Java API,然后调用Ext ...
自从接触Spring开始就对这个框架比较喜欢吧,所以我最近在抽时间深入研究这个框架,因为在项目中用Spring MVC比较多所以打算深入理解一下这个框架。
首先我们要从web.xml讲起,web.xml中配置着用来进行初始化的各种配置 ...
会话跟踪
我们知道在单机条件下session机制的通过cookie或者Url重写完成的,具体的做法是在用户第一请求到getSession方法时创建session并将创建cookie和jsessionid(String字段用来标识session),并把行用页面内所有的URL改写(在尾部家伙snag了jsessionid),然后发送到客户端。客户端再次请求(包含了是否允许cookie的信息),这次请求是已经被服务器做了URL重写了,所以会话被跟踪了。在服务器接受本次请求的时候,会判断 cookie是否被客户端浏览器接受,如果cookie不被接受,那么继续用URL重写来达到会话跟踪,如果cook ...
这几天因为在项目中曾经使用过Struts2这个神奇的框架,所以很有必要深入探究一下Struts2的处理的基本流程,如是有大一大二的在校大学生看到这篇博客我像给你的建议是在大学只做一个项目就够了,把整个项目的所 ...