java基础
文章平均质量分 56
明割啦
知止而后有定,定而后能静,静而后能安,安而后能虑,虑而后能得。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Java程序员从笨鸟到菜鸟(二)五种基本排序算法实现
注:数组排序以从升序排序为例1.冒泡排序1.1 算法原理:从左向右比较相邻的元素,如果前面的数比后面的数大,则交换它们的位置,这样每次比较完,靠后的位置的数字都是比前面的数值更大,循环比较到倒数第二位。详细解释见冒泡排序1.2 算法分析:时间复杂度:若数组开始为正序,则比较次数Cmin= n-1,移动次数Mmin=0,最好的时间复杂度为O(n);若数组初始为反序的,则需要进行n-1...原创 2018-02-23 13:37:14 · 365 阅读 · 0 评论 -
Java程序员从笨鸟到菜鸟(二十)MySQL面试题
mysql 数据库是被广泛应用的关系型数据库,体积小、支持多处理器、开源并免费的特性使其在中小型网站中的使用率尤其高。分三个方面:库表设计慢SQL问题一、库表设计1.1 引擎选择mysql常用引擎包括:MYISAM、Innodb、Memory、MERGE MYISAM:全表锁,拥有较高的执行速度,不支持事务,不支持外键,并发性能差,占用空间相对较小,对事...原创 2018-05-24 17:55:07 · 8538 阅读 · 1 评论 -
Java程序员从笨鸟到菜鸟(二十六)servlet实现文件上传和下载
文件上传都是以流的方式提交服务器端的,如果直接使用servlet获取上传文件的输入流然后再解析里面的请求参数是比较麻烦的,一般采用apache的common-fileupload组件一、所需要的jar包common-iocommon-fileuploadjstl二、文件上传2.1 上传文件步骤:获取文件保存目录判断目录是否存在,不存在就新建创建DiskFil...原创 2018-06-05 20:17:25 · 370 阅读 · 0 评论 -
Java程序员从笨鸟到菜鸟(二十四)Java Web 九大内置对象
目录JSP运行原理JSP执行过程JSP 九个内置对象 request常用方法response常用方法session常用方法pageContext常用方法application常用方法config常用方法out常用方法page常用方法exception常用方法JSP运行原理每当有JSP页面访问请求WEB容器时,容器将该访问请求交给JSP引擎取处理,Tomcat...转载 2018-05-30 19:13:51 · 260 阅读 · 0 评论 -
Java程序员从笨鸟到菜鸟(二十八)HashMap实现原理
一、HashMap HashMap继承自AbstractMap,AbstractMap是Map接口的骨干实现,AbstractMap中实现了Map中最重要且最常用的方法,这样HashMap继承AbstractMap就不需要实现Map所有的方法HashMap的成员变量initalCapacity:默认初始容量为 16maxCapacity:最大容量为2^30loadFacto...转载 2018-06-11 22:23:00 · 225 阅读 · 0 评论 -
Java程序员从笨鸟到菜鸟(三十二)23种设计模式之工厂模式
在面向对象编程中, 最通常的方法是一个new操作符产生一个对象实例,new操作符就是用来构造对象实例的,但是在一些情况下, new操作符直接生成对象会带来一些问题。举例来说, 许多类型对象的创造需要一系列的步骤: 你可能需要计算或取得对象的初始设置; 选择生成哪个子对象实例; 或在生成你需要的对象之前必须先生成一些辅助功能的对象。 在这些情况,新对象的建立就是一个 “过程”,不仅是一个操作,像一部...转载 2018-06-19 20:23:15 · 272 阅读 · 0 评论 -
Java程序员从笨鸟到菜鸟(三十四)23种设计模式之策略模式
策略模式转载 2018-06-21 18:45:32 · 251 阅读 · 0 评论 -
Java程序员从笨鸟到菜鸟(四十)免安装版 MySQL 安装和激活
一、软件下载mysql-5.6.19-winx64:https://pan.baidu.com/s/1h8Wxkr-3IhIAKq7R-FE_3w navcat 可视化工具:https://pan.baidu.com/s/1-SBeQpxht5Db-wm0yu5zww二、安装Ctrl + R 进入命令DOS操作界面,以管理员的身份运行进入 mysql 文件夹下的 bin 目录...原创 2018-06-28 21:42:08 · 400 阅读 · 0 评论 -
Java程序员从笨鸟到菜鸟(六十一)Calendar 常用操作
1、格式化当前时间// 格式化当前日期Date date = new Date();System.out.println("当前毫秒时间戳:" + date.getTime());SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss&am原创 2018-11-07 18:40:41 · 384 阅读 · 0 评论 -
Java程序员从笨鸟到菜鸟(六十三)Java 创建对象的五种方式
原文传送门:https://www.cnblogs.com/wxd0108/p/5685817.html 非常感谢作者Java 创建对象的五种方式:|new|使用 new 关键字|调用构造函数||————|————|————||反射|使用 Class 类的 newInstance 方法|调用构造函数||反射|使用 Cosntructor 类的 newInstance 方法|调用构造函数|...转载 2018-11-15 21:41:49 · 302 阅读 · 0 评论 -
Java程序员从笨鸟到菜鸟(二十九)ConcurrentHashMap解析
既然不能全锁(HashTable)又不能不锁(HashMap),所以就搞个部分锁,只锁部分,用到哪部分就锁哪部分。一个大仓库,里面有若干个隔间,每个隔间都有锁,同时只允许一个人进隔间存取东西。但是,在存取东西之前,需要有一个全局索引,告诉你要操作的资源在哪个隔间里,然后当你看到隔间空闲时,就可以进去存取,如果隔间正在占用,那你就得等着一、背景线程不安全的HashMap因为多...原创 2018-06-11 22:25:59 · 251 阅读 · 0 评论 -
Java程序员从笨鸟到菜鸟(二十三)HashMap两种遍历方式
方式一:使用entrySet方式Map<String, Object> map = new HashMap<String, Object>();Iterator iter = map.entrySet().iterator();while (iter.hasNext()) { Map.Entry entry转载 2018-05-29 21:58:47 · 583 阅读 · 0 评论 -
Java程序员从笨鸟到菜鸟(五)JVM类继承关系的初始化顺序
非继承关系的初始化顺序:代码块:package demo;public class Student { static StudentClass sam = new StudentClass("静态成员sam初始化"); StudentClass sam1 = new StudentClass("普通成员sam1初始化"); static { System.out.print...转载 2018-02-26 11:58:46 · 260 阅读 · 0 评论 -
java程序员从笨鸟到菜鸟(九)堆内存和栈内存
堆内存和栈内存的概念:堆内存:首先是一片内存区域,用于存放由new创建的对象(实体)和数组,对象用于封装数据,当一个数据丢失,不会造成实体释放,堆内存不会随时释放;而栈不一样,栈里存放的都是单个变量,当变量消失,栈内存也跟着被释放。栈内存:用于存放基本数据类型变量和引用数据类型变量,存储的都是局部变量,先加载函数才能对局部变量进行定义,所以是方法先进栈,然后再定义变量,变量有自己的作用域,一旦离开...原创 2018-03-08 11:11:54 · 252 阅读 · 0 评论 -
Java程序员从笨鸟到菜鸟(十)==和equals区别
==和equals都是比较相等的方法。首先,比较==和equals:1. ==比较基本数据类型的时候比较的是值,比较引用数据类型的时候比较的是地址。1. int x = 1;2. int y = 1;3. String str1 = "abc";4. String str2 = "abc";5. System.out.println(x == y); // 输出true6. System...原创 2018-03-08 11:58:30 · 231 阅读 · 0 评论 -
Java程序员从笨鸟到菜鸟(七)数组和集合
1. 数组和集合的区别数组声明了容纳元素的类型,而集合不声明 数组声明之后,长度不可改变,而集合可以根据需求动态改变长度 数组是线性排列的,执行效率优于集合2. 集合相关知识2.1 集合体系中的三个主要接口:List、Set、Map;List和set实现了collection接口;2.2 Set:不允许重复元素,HashSet和TreeSet是两个主要实现类,Set的取值只能通过...原创 2018-02-28 14:58:28 · 277 阅读 · 0 评论 -
java程序员从笨鸟到菜鸟(八)泛型
1. 使用场景:一般是集合用的较多。2. 使用规则:public static <E> void printArr(E [] inputArray)所有泛型方法声明都有一个类型参数声明部分(由尖括号分隔),该类型参数声明部分在方法返回类型之前每一个类型参数声明部分包含一个或多个类型参数,参数间用逗号隔开。一个泛型参数,也被称为一个类型变量,是用于指定一个泛型类型名称的标识符类型参数能被...原创 2018-02-28 15:34:49 · 300 阅读 · 0 评论 -
Java程序员从笨鸟到菜鸟(四)二叉树详解
二叉树1. 定义:是每个节点最多有两个子树的树结构,通常字树又被称为左子树和右子数,且次序不能颠倒。节点的个数:二叉树的第i层至多有2^{i-1}个结点;深度为k的二叉树至多有2^k-1个结点;对任何一棵二叉树T,如果其终端结点数为n,度为2的结点数为m,则n=m+1。2. 基本概念:2.1 五种基本形态:空二叉树、只有根节点的二叉树、只有根节点和左子树的二叉树、只有根节点和右子树的二叉树、同时有...原创 2018-02-24 14:05:16 · 940 阅读 · 0 评论 -
Java程序员从笨鸟到菜鸟(十二)进程和线程详解
1. 定义:进程(process):可并发执行的程序在某个数据集合上的一次计算活动,也是操作系统进行资源分配的基本单位。线程(thread):进程中包含一个或多个执行单位。2. 进程进程的五种状态:创建:分配了PCB(Process Control Block)进程控制块,进程所需的资源未分配,进程还未进入主存,创建工作未完成。就绪:进程分配到了除CPU以外的所有必要资源,...原创 2018-03-13 17:42:02 · 307 阅读 · 0 评论 -
Java程序员从笨鸟到菜鸟(二十一)JDBC详解和面试题
一、概念1.1 JDBC JDBC(Java Data Base Connectivity,java数据库连接)是一种执行SQL语句的API,可以为多种关系数据库提供统一访问,由一组java语言编写的类和接口组成1.2 数据库驱动 应用程序要通过驱动程序来连接数据库,驱动jar已经实现了Connection等接口1.3 常用接口Driver:由数据...原创 2018-05-25 17:54:25 · 242 阅读 · 0 评论 -
Java程序员从笨鸟到菜鸟(二十二)计算机网络基础知识
目录1.网络层次划分2.OSI七层网络模型3.IP地址4.IP和子网掩码5.ARP/RARP协议6.路由器选择协议7.TCP/IP协议8.UDP协议9.DNS协议10.NAT协议11.HTTP协议1. 层次划分 为了使计算机厂家生产的计算机能够相互通信,国际标准化组织(IOS)提出了开放系统互联参考模型及著名的OSI/RM(Open System Inter...转载 2018-05-28 20:04:10 · 1868 阅读 · 1 评论 -
Java程序员从笨鸟到菜鸟(二十五)三种方法实现两个数值交换
三种方式:新建临时变量、做加减运算、做异或运算新建临时变量代码实现:a 初始值为2,b初始值为4System.out.println("交换前的数值:a=" + a + "... b=" + b);int temp = a;a = b;b = temp;System.out.println("交换前的数值:a=" + a + "... b=&q原创 2018-06-05 19:33:01 · 261 阅读 · 0 评论 -
Java程序员从笨鸟到菜鸟(六十六)HashMap 1.7源码分析
原文传送门:https://blog.youkuaiyun.com/carson_ho/article/details/79373026 非常感谢作者!1、文章基于 JDK 1.7,即 Java 72、关于 JDK 1.8,即 Java 8,具体请看文章目录:1、简介2、数据结构3、具体使用4、基础知识5、源码分析6、源码总结7、与 JDK 1.8 的区别8、额外补充:关于 Ha...转载 2018-12-12 19:23:43 · 363 阅读 · 0 评论
分享