4 KennyBiggerJava

尚未进行身份认证

暂无相关简介

等级
TA的排名 6w+

Java并发编程的挑战

Java并发编程的挑战如果希望通过多线程来让任务执行的更快,将会面临上下文切换频繁,死锁,资源限制(硬件和软件)等问题1.上下文切换CPU通过时间片分配算法来循环执行任务,当前任务执行一个时间片后会切换到另一个任务,但是,在切换前会保存上一个任务的状态,以便下次切换回这个任务时,可以再加载这个任务的状态。所以任务从保存到再加载的过程就是一次上下文切换。 上下文切换会影响多线程的执...

2018-04-14 22:52:26

Java多线程3.1:synchronized同步方法

本文主要介绍Java多线程中的同步,也就是如何在Java中写出线程安全的程序,如何在Java语言中解决非线程安全的相关问题。非线程安全什么是非线程安全?非线程安全是指多个线程对同一个对象中的实例变量进行并发访问时发生,发生的结果就是脏读,也就是取到的结果其实是被更改过的,而线程安全就是以获得的实例变量的值是经过同步处理的,不会出现脏读的现象。方法内的变量为线程安全非线程安全问题存在于”实例变量”中,

2017-06-12 14:55:44

Java多线程2:Thread常用方法

currentThread()currentThread()方法可返回代码段正在被哪个线程调用的信息。 Thread.currentThread().getName();Example:class MyThread1 extends Thread { MyThread1(){ System.out.println("执行构造函数"+Thread.currentThread(

2017-06-11 18:02:59

Java多线程1:进程与线程

1.什么是进程?进程是操作系统结构的基础,是一次程序的执行,是系统进行资源分配和调度的一个独立单位。 这个解释有点懵了。简单来讲就是一个正在操作系统中的运行的exe程序就是一个进程。2.什么是线程?线程可以理解为是在进程中独立运行的子任务。比如:酷狗音乐.exe运行时,就会有很多子任务在同时运行,包括下载歌词线程,直播线程等3.线程的优点可以在同一时间内运行更多不同种类的任务,比如作为程序员,我们

2017-06-06 22:48:13

MySql慢查询日志查看

通过命令查看慢查询最长时间,一般默认10sSHOW VARIABLES LIKE 'long_query_time我们可以修改该时间,比如我在这里设置为1s,方便测试。SET long_query_time=1通过命令SHOW VARIABLES LIKE '%query%';可以看到,log_slow_queries默认是OFF,我们必须要打开它,SET GLOBAL slow_query_l

2017-05-03 13:26:43

Java基础提高篇(三)持有对象

1.添加一组元素通过Arrays.asList()或者Collections.addAll()添加一组元素Arrays.asList()方法接收一个数组或一个用逗号分隔的元素列表Collections.addAll(),接收一个Collection对象,以及一个数组或一个用逗号分隔的元素列表(推荐使用这种方法)public class Demo1 { public static void m

2017-04-27 20:21:00

Java基础提高篇(二)多态

在面向对象的程序设计语言中,多态是继数据抽象和继承之后的第三种特征。不同类的对象对同一消息作出不同的响应就叫做多态。多态存在的三个条件1、有继承关系  2、子类重写父类方法  3、父类引用指向子类对象多态方法调用允许一种类型表现出与其他相似类型之间的区别,只要它是从同一基类导出而来的,这种区别是根据方法行为的不同而表现出来的,虽然这些方法都可以通过同一个基类来调用。看一个简单的多态例子enum Ba

2017-04-27 13:25:16

Java基础提高篇(一)初始化

冰冻三尺非一日之寒,滴水石穿非一日之功打好基础是关键,笔者准备老老实实搞搞基础了,不仅为了7月份的实习面试,还是为了自我能力的提升,基础的重要性不可忽视。牢骚发完了,进入正题吧。1.用构造器进行初始化构造器采用与类相同的名称,因此“每个方法首字母小写”的编码风格不适合用在构造器中构造器是一种特殊类型的方法,因为它没有返回值。这与返回值为空(Void)不同。默认构造器是没有形式参数的,他的作用是

2017-04-26 17:30:09

JDK动态代理浅析

Spring框架中有一个核心的概念,叫做AOP(面向切面编程)。而AOP的本质其实就是jdk动态代理。所以学习动态代理还是很有必要的。笔者对动态代理也只是研究了一点皮毛,如有写的不对的地方欢迎指点。JDK动态代理有2个很重要的东西,一个是InvocationHandler接口,还有一个是Proxy类。先来看一下InvaocationHandler接口的定义:InvocationHandler is

2017-03-16 15:39:50

java爬取智联招聘职位信息

第一次写爬虫,案例比较简单,就在智联招聘网站上爬取职位信息。技术点:IO流,集合,Jsoup使用,以及前端的知识代码如下:package com.wty.utils;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader

2017-03-11 14:27:06

SpringMVC框架(一)环境搭建及入门程序

1.什么是SpringMVC?Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,从而在使用Spring进行WEB开发时,可以选择使用Spring的SpringMVC框架或集成其他MVC开发框架,如Struts1,Struts2

2017-03-06 22:28:26

MyBatis(4)一级缓存,二级缓存

MyBatis的缓存,包括一级缓存,二级缓存。什么是一级缓存?一级缓存指的就是sqlsession,在sqlsession中有一个数据区域,是map结构,这个区域就是一级缓存区域。一级缓存中的key是由sql语句、条件、statement等信息组成一个唯一值。一级缓存中的value,就是查询出的结果对象。什么是二级缓存?二级缓存指的就是同一个namespace下的mapper,二级缓存中,也有一个m

2017-03-05 17:37:39

MyBatis(三)配置文件,输入输出映射,动态SQL

1.在SqlMapConfig.xml文件中加载db.properties如果不写db.properties的话,那么也可以直接给value赋值,但是,这样写的话,后果就是维护起来变得麻烦,如果下次改了密码等信息,还需要在xml中寻找对应的value,代码一多的话,会很容易出错且效率不高。相反,可以直接寻找相应的properties文件。db.properties代码:db.driver=com.m

2017-02-28 00:00:22

MyBatis (二) Dao层开发

传统Dao开发1.写一个StudentInterface接口public interface StudentInterface { public Student findStudentById(int id);}2.写一个StudentInterface接口的实现类public class StudentImpl implements StudentInterface { priva

2017-02-25 16:24:35

MyBatis(一) 入门案例实现CRUD操作

什么是MyBatis官方文档是这么说的MyBatis is a first class persistence framework with support for custom SQL, stored procedures and advanced mappings. MyBatis eliminates almost all of the JDBC code and manual settin

2017-02-25 13:53:25

Java面试题全集(下)

原文链接:http://blog.csdn.net/jackfrued/article/details/44931161   这部分主要是开源Java EE框架方面的内容,包括hibernate、MyBatis、spring、Spring MVC等,由于Struts 2已经是明日黄花,在这里就不讨论Struts 2的面试题,如果需要了解相关内容,可以参考我的另一篇文章《Java面试题

2017-02-22 07:08:34

Java面试题全集(中)

原文链接:http://blog.csdn.net/jackfrued/article/details/44931137 这部分主要是与Java Web和Web Service相关的面试题。96、阐述Servlet和CGI的区别? 答:Servlet与CGI的区别在于Servlet处于服务器进程中,它通过多线程方式运行其service()方法,一个实例可以服务于多个请求,并且其实例

2017-02-22 07:06:27

Java面试题全集(上)

2013年年底的时候,我看到了网上流传的一个叫做《Java面试题大全》的东西,认真的阅读了以后发现里面的很多题目是重复且没有价值的题目,还有不少的参考答案也是错误的,于是我花了半个月时间对这个所谓的《Java面试大全》进行了全面的修订并重新发布在我的CSDN博客。在修订的过程中,参照了当时JDK最新版本(Java 7)给出了题目的答案和相关代码,去掉了EJB 2.x、JSF等无用内容或过时内容,补充

2017-02-22 07:03:27

内部类

《Thinking In Java》内部类定义:可以将一个类的定义放在另一个类的内部,这就是内部类。创建内部类public class OuterTest1 {private String name = "王天逾";//创建内部类class InnerClass1{int i;InnerClass1(int i){this.i = i;}public void f1(){Syste

2017-02-21 17:06:52

复用类

《Thinking In Java》复用类组合与继承组合:在新的类中产生现有类的对象。继承:按照现有类的类型来创建新类,无需改变现有类的形式,采用现有类的形式并在其中添加新的代码。组合:public class TestDemo1 {public static void main(String[] args) { A a = new A(); a.f1();}}class A

2017-02-17 14:25:57

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!