java
给我瓶叶小白
虽千万人吾往矣。
展开
-
jdbc连接原理以及过程,如何jdbc连接
Jdbc(1) 前提准备:Mysql的绿色版本,navicat lit for mysql(数据库可视化软件),myeclipse2014 (2) 安装navicat lit for mysql一直按下一步即可。(qq式安装)(3):开启mysql服务双击mysql文件夹下的mysql_start_utf8.bat即可,黑色屏幕一闪而过。(因为是用可视化工具,所以不需要配置环境变量) (3) 连接...原创 2018-02-06 15:52:36 · 6966 阅读 · 1 评论 -
java线程的生命周期
当线程被创建并启动以后,它既不是一启动就进入了执行状态,也不是一直处于执行状态。在线程的生命周期中,它要经过新建(New)、就绪(Runnable)、运行(Running)、阻塞(Blocked)和死亡(Dead)5种状态。尤其是当线程启动以后,它不可能一直"霸占"着CPU独自运行,所以CPU需要在多条线程之间切换,于是线程状态也会多次在运行、阻塞之间切换。1. 新建状态,当程序使用ne...转载 2018-09-19 19:41:13 · 221 阅读 · 0 评论 -
线程同步
一、Java 线程 同步与异步多线程并发时,多个线程同时请求同一个资源,必然导致此资源的数据不安全,A线程修改了B线程的处理的数据,而B线程又修改了A线程处理的数理。显然这是由于全局资源造成的,有时为了解决此问题,优先考虑使用局部变量,退而求其次使用同步代码块,出于这样的安全考虑就必须牺牲系统处理性能,加在多线程并发时资源挣夺最激烈的地方,这就实现了线程的同步机制1、 同步A线程要请求...原创 2018-09-19 19:44:33 · 208 阅读 · 0 评论 -
java中的equals与“==”、hashcode的区别
"=="操作符的作用判断引用是否指向堆内存的同一块地址。如果是原始类型,byte,boolean,short,char,int,long,float,double,就是直接比较他们的值。如果是引用,比较的就是引用的值,引用的值可以被认为是对象的逻辑地址,如果两个引用发生==操作,就是比较两个相应的对象的地址值是否一样,换句话说,如果两个引用保存的是同一个对象,则返回true,否则返回f...原创 2018-09-21 16:04:07 · 189 阅读 · 0 评论 -
解决 eclipse出现 Address already in use: bind,以及tomcat端口占用
在项目开发中,有时候我们发现回报这个错:解决 eclipse出现 Address already in use: bind产生的原因是端口占用,比如你的8080端口,已经有一个进程在访问使用,但是你没有发现,没有关闭,导致再次启动另一个工程,会报这个错误。我出现这个错误时候的案例:我先启动java工程A,然后启动了java工程B,此时console只显示工程B的状态,当我关闭B以后,c...原创 2018-12-03 00:17:06 · 3915 阅读 · 0 评论 -
java 文件io
package com.dhcc.file;import java.io.File;import java.io.FileOutputStream;import java.io.FileWriter;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;public c...原创 2019-01-24 22:31:53 · 199 阅读 · 0 评论 -
banse64加密解密原理
开发者对Base64编码肯定很熟悉,是否对它有很清晰的认识就不一定了。实际 上Base64已经简单到不能再简单了,如果对它的理解还是模棱两可实在不应该。大概介绍一下Base64的相关内容,花几分钟时间就可以彻底理解它。文 章下边贴了一个Base64的编解码器,方便阅读文章的同时来实验。 一. Base64编码由来 为什么会有Base64编码呢?因为有些网络传送渠道并不支持所有的字节,例...转载 2019-03-31 22:49:24 · 401 阅读 · 0 评论 -
多个构造器时考虑用构建器:javaBeans模式可能处于不一致性
今天观看《Effective Java 3》的第二条:遇到多个构造器参数时考虑用构建器有这样一段话:=============遗憾的是,JavaBeans模式自身有着严重的缺点。因为构造过程被分到了几个调用中,在构造过程中JavaBeans可能处于不一致的状态。类无法仅仅通过检验构造器参数的有效性来保证一致。试图使用处于不一致状态的对象,将会导致失败,这种失败与包含错误的代...转载 2019-03-27 23:27:40 · 697 阅读 · 0 评论 -
你真的会写单例模式吗——Java实现
单例模式可能是代码最少的模式了,但是少不一定意味着简单,想要用好、用对单例模式,还真得费一番脑筋。本文对Java中常见的单例模式写法做了一个总结,如有错漏之处,恳请读者指正。饿汉法顾名思义,饿汉法就是在第一次引用该类的时候就创建对象实例,而不管实际是否需要创建。代码如下:public class Singleton { private static Singleton ...转载 2019-03-27 23:54:02 · 167 阅读 · 0 评论 -
java多线程的创建以及使用
一、创建多线程的四种方式1.继承Thread类,重写run方法2.实现Runnable接口,重写run方法,实现Runnable接口的实现类的实例对象作为Thread构造函数的target3.通过Callable和FutureTask创建线程4.通过线程池创建线程前面两种可以归结为一类:无返回值,原因很简单,通过重写run方法,run方式的返回值是void,所以没有办法返回结果...原创 2018-09-19 19:30:05 · 296 阅读 · 0 评论 -
java修饰符final深入理解
final关键字可以用于修饰类,变量和方法。final修饰变量时候,一旦获取初始值就不可被改变,final修饰变量时候,变量一旦获得初始值就不可被改变,final可以修饰成员变量(类变量,实例变量),也可以是局部变量,形参。final修饰的变量不可被改变,一旦获得初始值,该final变量的值就不能被重新赋值。 final成员变量:成员变量是随类初始化或对象初始化而设计的。必须由程序员显示...原创 2018-04-13 20:08:41 · 265 阅读 · 0 评论 -
java构造器与初始化块
初始化块是java类里可出现的第四种成员变量(前面依次是成员变量,方法,构造器),一个类里可以有多个初始化块,相同类型的初始化块之间执行顺序为顺序执行:即前面定义的初始化块先执行,后面定义的初始化块后执行。初始化块有两种:没有修饰符的普通初始化块以及带static修饰符的静态初始化快。{ //初始化块 } static{ //类初始化快 }package project1;...原创 2018-04-13 14:44:29 · 906 阅读 · 0 评论 -
arrarylist与list
1、什么是ArrayListArrayList是动态数组。(add()方法) 动态的增加和减少元素 实现了ICollection和IList接口 灵活的设置数组的大小。 2、如何使用ArrayList。ArrayList List = new ArrayList(); for( int i=0;i List.Add(i); 3,几个方法原创 2018-02-06 21:48:59 · 2395 阅读 · 0 评论 -
接口与多态
java接口本身没有任何实现,因为Java接口不涉及表象,而只描述public行为,所以Java接口比Java抽象类更抽象化。但是接口不是类,不能使用new运算符实例化一个接口。如 x=new comparable(......);//这个是错误来的。但是可以声明接口变量Comparable x; //这是允许的,也可以调用方法,但是不管用,因为单纯定义的接口变量,没有构造函数,无法再jv原创 2018-02-06 21:53:52 · 1014 阅读 · 0 评论 -
map函数的四中遍历方法
Map接口· Map提供了一种映射关系,其中的元素是以键值对(key-value)的形式存储的,能够实现根据key快速查找value;· Map中的键值对以Entry类型的对象实例形式存在;· 建(key值)不可重复,value值可以重复,一个value值可以和很多key值形成对应关系,每个建最多只能映射到一个值。· Map支持泛型,形式如:Map<K,V>· Map中使用put(K ...转载 2018-03-14 20:39:53 · 438 阅读 · 0 评论 -
三层架构与mvc设计模式
三层架构与mvc设计模式,并不是一个概念 三层架构是一个分层式的软件体系架构设计,它可适用于任何一个项目。 MVC是一个设计模式,它是根据项目的具体需求来决定是否适用于该项目。 那么架构跟设计模式有什么区别呢?我们从接手一个项目开始,首先,我们需要进行架构设计,一般我们采用的就是分层式的架构设计,即我们的三层架构。然后,在确定了架构以后,我们再根据项目的具体需求去考虑是否需要应用...转载 2018-03-08 18:35:13 · 1857 阅读 · 0 评论 -
实用的编辑eclipse时候快捷键
Ctrl+A 选中全部整页Ctrl + d 删除整行内容Ctrl + Shift +R 复制当前行到下一行Ctrl + Shift +D 重新编辑Ctrl + 方向键 当前行整行内容上移或下移Alt + ↓ 跳转到下一个可编辑区Ctrl + Alt ...原创 2018-03-18 23:05:17 · 209 阅读 · 0 评论 -
eclipse项目转到myeclipse
1,新建立一个项目,我们最好把编码格式都改成utf-8,这样以后转到别的工具,不会乱码,一般汉化工具都会是GBK的,所以务必修改一下。当我们把eclipse的项目导入myeclipse时候,有时候因为tomcat不一样,jre,jdk不一样,相同的代码会有错。比图:点击problem中红色叉号的字段,这里吧Target runtime我们改成系统内置的myeclipse tomcatv7。有时候改...原创 2018-03-19 23:25:28 · 8748 阅读 · 0 评论 -
java异常结构以及作用
Throwable类:所有的异常类,都直接或者间接的继承这个类。三个重要的方法:堆栈跟踪是方法调用过程的轨迹,它包含了程序执行过程中方法调用的顺序和所在源代码行号。堆栈跟踪信息从下往上,是方法调用的顺序。Throwable类的两个直接子类:Error:是程序无法修复的严重问题,程序员无法修复,这能让程序终止,比如jvm内部错误、存溢出和资源耗尽等严重情况。Exception:是程序可以恢复的程序,...原创 2018-03-21 22:25:23 · 1274 阅读 · 0 评论 -
java DButil 模板
package com.zhiyou100.crm.util;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;public class D...转载 2018-03-22 09:15:28 · 545 阅读 · 0 评论 -
java 多线程
一个任务通常就是一个程序,每个运行中的程序就是一个进程,每当一个程序运行时,内部可能包含多个顺序执行流,没个顺序执行流就是一个线程。 每当一个程序进入内存运行时,即变成一个进程,进程是处于运行过程中的程序,并具有一定的而独立能力,进程是系统进行资源分配的一个独立的单位。 进程的三个特征: 独立性:进程是系统中独立存在的实体,它可以拥有自己独立的资源,...原创 2019-06-11 01:00:07 · 356 阅读 · 0 评论