高效读写的队列:深度剖析ConcurrentLinkedQueue

队列、链表之类的数据结构及其常用。Java中,ArrayList和Vector都是使用数组作为其内部实现。两者最大的不同在于:Vector是线程安全的,而ArrayList不是。此外LinkedList使用链表的数据结构实现了List,但并不是线程安全的,就像之前包装HashMap,这里我们可以使...

2016-06-28 15:52:46

阅读数 9741

评论数 4

装配Bean

任何一个成功的应用都是由为了实现某一目标任务而相互协作的组件构成的。这些组件必须彼此了解并相互协作来完成工作。 而创建应用对象之间关联关系的传统方法(通过构造器或者查找)通常会导致结构复杂的代码,这些代码很难复用,也很难进行单元测试。最好的情况是,这些对象所做的超出了它应该做的;最坏的情况是,...

2016-06-18 10:53:10

阅读数 359

评论数 0

Spring之旅

Spring 最根本的使命:简化Java开发为了降低JAVA开发的复杂性,Spring采取了以下4种关键策略: 基于POJO的轻量级和最小侵入式编程 通过依赖注入和面向接口实现松耦合 基于切面和惯例进行声明式编程 通过切面和模板减少样板式代码 几乎Spring所做的所有的任何事情都可以追溯到上述...

2016-06-17 22:06:01

阅读数 219

评论数 0

[编程题] 算法基础-字符移位

小Q最近遇到了一个难题:把一个字符串的大写字母放到字符串的后面,各个字符的相对位置不变,且不能申请额外的空间。 你能帮帮小Q吗?输入描述:输入数据有多组,每组包含一个字符串s,且保证:1<=s.length<=1000.输出描述:对于每组数据,输出移位后的字符串。输入例子: Akl...

2016-06-16 11:01:39

阅读数 841

评论数 0

Java 7 数值字面量的改进

字面量(literal) 指的是在源代码中直接表示一个固定的值。比如基本类型字面量:包括整数、浮点数、字符串和布尔值等。 支持的数字字面量表示 十进制:默认的 八进制:整数之前加数字0来表示 十六进制:整数之前加“0x”或“0X” 二进制(新加的):整数之前加“0b”或“0B” 在数值字面量...

2016-06-13 15:44:16

阅读数 1539

评论数 0

Java 7 switch支持String类型的原理和关于switch一些细节

switchswitch中可以有null吗? 在switch语句中,表达式的值不能是null,否则会在运行时抛出NullPointerException。在case子句中也不能使用null,否则会出现编译错误。 switch支持的类型有? Java 7 中加入了对String类型的支持。所以支持的...

2016-06-13 15:26:16

阅读数 8100

评论数 0

mac上安装mysql 以及root密码忘记或权限错误的解决办法

出现错误: ERROR 1045 (28000): Access denied for user ‘root’@’localhost’ (using password: NO) 就是没有权限访问,忘记密码了,需要修改密码:解决步骤: 1.苹果->系统偏好设置->最下边点mysql...

2016-04-07 11:18:59

阅读数 1253

评论数 0

韩顺平 Java 第52讲 面试题

java试题评讲 下列哪些是java语言的关键字? A. sizeof B. abstract C. NULL D. Native 答案:选择B。 第一个java语言编辑器是在(1996)年推出。 java的保留字和关键字? Java 关键字列表 (依字母排序 共51组): a...

2015-11-16 21:17:07

阅读数 472

评论数 0

scp免密码传输

背景 scp时候需要输入密码有时候挺麻烦,尤其是密码比较难记,我们可以通过建立两server之间的信任关系,从此就不用输入密码了。 有时候需要将命令行植入到程序中的时候,也需要免密码,这样,程序就可以直接执行得到结果了。 效果 在a命令行上执行操作,可以复制文件到b,或者把b上的文件复制...

2015-10-27 15:52:46

阅读数 2209

评论数 0

韩顺平 java io编程

文件流文件在程序中是以流的形式来操作的。 - 内存 –输出流–> 文件 - 内存 <–输入流– 文件 流:数据在数据源(文件)和程序(内存)之间经历的路径。 注意:以内存为参照物 输入流:数据从数据源(文件)到程序(内存)的路径 输出流:数据从程序(内存)到数据源(文件)的...

2015-10-14 17:38:01

阅读数 449

评论数 0

韩顺平 java 第41讲

- 至于阻塞后,多个线程谁先执行?这个就是看优先级了,假如优先级一样的话,就看先到先执行,这些都是操作系统控制的。 - synchronized后面括号中的对象可以是任意对象。

2015-10-13 21:55:09

阅读数 299

评论数 0

韩顺平 java 第40讲 线程同步

线程深入理解 线程对象只能启动一个线程。不管是继承Thread,还是通过实现Runnable接口创建线程,它们的一个对象只能启动(即start())一次,否则就会有异常抛出。不能通过此方式实现多个线程跑起来。 两种创建线程方法的区别? 问题:模拟一个机票售票系统,有三个售票点,在一天内卖出200...

2015-10-13 16:51:42

阅读数 674

评论数 0

韩顺平 java 第39讲 线程

多个线程package com.chen;public class MyClass { public static void main(String[] args) { Cat cat = new Cat(); Dog dog = new Dog(); ...

2015-10-12 22:45:08

阅读数 331

评论数 0

韩顺平 java 第38讲 线程

进程、线程的基本概念进程是指运行中的应用程序,每个进程都有自己独立的地址空间(内存空间)。比如用户点击ie浏览器,就启动了一个进程,操作系统就会为该进程分配独立的地址空间,当用户再次点击ie浏览器图标,就又启动了一个进程,操作系统将为新的进程分配新的独立的地址空间。线程是进程中的一个实体,是被系统...

2015-10-12 20:19:35

阅读数 929

评论数 0

韩顺平 java 第37讲 动起来的坦克

让坦克移动起来注意,创建敌人坦克的时候,需要注意用什么存储?? 数组VS集合? 首先,敌人的坦克会爆炸,用数组的时候不好控制敌人的坦克数量什么的,所以用集合。但是集合中要用ArrayList还是Vector? 我们知道后者是线程安全的,坦克后期肯定是多线程的,所以用Vector。Draw.j...

2015-10-12 17:22:42

阅读数 378

评论数 0

韩顺平 java 第36讲 事件监听

事件源事件源是一个产生或者触发事件的对象,比如前面的按钮或者按键,当这个事件源对象的某些状态以某种方式发生变化时,就会产生某种类型的事件,一个事件源可能会产生多个不同类型的事件,如果某个组件(对象)希望得到事件源的事件,就需要在这个事件源上注册。事件事件就是承载事件源状态改变时的信息对象。或者说事...

2015-10-12 15:54:24

阅读数 530

评论数 0

韩顺平 java 第35讲 事件处理机制

点击按钮控制背景颜色变化package chen.com; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener;import javax.swing.*;//这个类No...

2015-10-12 11:06:29

阅读数 492

评论数 0

韩顺平 java 第33讲 绘图技术

绘图原理Component类提供了两个和绘图有关的最重要的方法: 1. paint(Graphics g)绘制组件的外观 2. repaint()刷新组件的外观 3. 当组件第一次在屏幕显示的时候,程序会自动的调用paint()方法来绘制组件 4. 在以下三种情况下,paint()将会被调...

2015-10-10 14:58:35

阅读数 350

评论数 0

韩顺平java 第32讲 swing编程实战

拆分窗格 JSplitPane和多行文本框组件JTextAreaJSplitPane属于容器类组件。package chen.com; import java.awt.*; import javax.swing.*;public class MyClass extends JFrame { ...

2015-10-09 21:57:29

阅读数 606

评论数 0

韩顺平 java 第31讲 常用组件

面板组件 JPanel为什么有JPanel?在图形用户界面编程中,如果只是普通的组件布局,可以用前面的三种布局管理器就可以解决,但是在比较复杂的布局要求时,就需要使用布局管理器的组合使用。怎么用JPanel?JPanel是面板组件,非顶层容器。 一个界面只能有一个JFrame窗体组件,但是可以有...

2015-10-09 10:00:17

阅读数 365

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭