java
文章平均质量分 70
温景_winka
SDUT 15级软件工程专业
展开
-
java疯狂讲义(一.数组)
初始化数组的两种方式1.静态初始化:初始化时指定每个元素的值2.动态初始化:初始化时指定数组的长度java数组变量是一种引用类型的变量数组元素和数组变量在内存里是分开的。实际的数组元素被存储在堆(heap)内存中;数组引用变量是一个引用类型的变量,被存储在栈(stack)内存中。当一个方法执行时,每个方法都会建立自己的内存栈,在这个方法内定义的变量将会逐个放入这块栈内存里,随着方法的执行结束,这个...原创 2018-04-19 09:30:31 · 149 阅读 · 0 评论 -
java讲义(static 参数传递 包装类)
1.为什么static 修饰的方法不能访问非static修饰的普通成员变量申明为非静态的成员变量是一个对象属性,它只有在对象存在时引用,因此如果在对象未创建实例时我们在静态方法中调用了非静态成员方法自然是非法的2.方法参数的传递机制基本类型:值传递(复制传递)引用类型:也是复制传递,引用类型传递的是该变量,不是复制对象,实际操作是堆内存中的对象,两个变量引用的是同一个对象...原创 2018-06-28 18:48:05 · 655 阅读 · 0 评论 -
javaSwing项目 验证邮箱手机号数字工具类
/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */package com.hwj...原创 2018-06-28 18:50:56 · 548 阅读 · 0 评论 -
netbeans6.28项目总结
项目:货物管理系统功能:修改,查询问题:如何将在表格中显示的数据当鼠标点击哪一行时,在文本框中进行显示?首先将表格的事件设为鼠标点击事件1.先获取哪一行int selRow = this.tblProduct.getSelectedRow();//获取行2.分别获取该行的每一列如果该列为int属性 this.txtId.setText(this.tblProduct.getValueAt(selR...原创 2018-06-28 19:23:38 · 146 阅读 · 0 评论 -
java反射
1.通过类类型获取类的方法信息和类的属性信息public class FanShe { //获取类的方法信息 public static void print(Object object){ Class c1=object.getClass(); //获取该类所有的方法 Method[] method...原创 2018-07-04 16:28:22 · 138 阅读 · 0 评论 -
java配置环境变量的作用
今天使用命令行编译运行java文件发现可以编译文件,但是无法运行,因为没有配置jre,所以搜索了关于java环境变量的问题JAVA_HOME。就是指java安装目录。这算是一个规定了,以后不管是oracle、tomcat或者其他需要用jdk、jrm的软件,都是直接去找操作系统中这个环境变量。 Eclipse/Tomcat等JAVA开发的软件就是通过搜索JAVA_HOME变量来找到并使用安装好的...原创 2018-07-23 20:18:30 · 2250 阅读 · 0 评论 -
nginx负载均衡
负载均衡:将一个域名的访问分散到多台服务器上Nginx反向代理是接收用户的请求然后重新发起请求去请求后面的节点。nginx 的 upstream目前支持 4 种方式的分配 1)、轮询(默认) 每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。 2)、weight 指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情...原创 2018-07-24 11:37:56 · 140 阅读 · 0 评论 -
redis主从复制 搭建集群(ubuntu环境)
主从复制.在redis目录下复制两个conf文件redis6380.conf redis6381.conf将端口号分别改为6380和6381因为自己使用apt下载的redis放在了etc文件夹下,修改文件需要使用gedit *完成准备好配置文件后执行以下操作启动配置文件进入目录后:redis-server redis.conf 启动6379的配置文件 ...原创 2018-07-19 15:11:41 · 402 阅读 · 2 评论 -
jdk的静态代理和动态代理
1.静态代理接口 Moveablepackage com.hwj.Daili;/** * @Auther: hwj * @Date: 2018/8/24 14:44 * @Description: */public interface Moveable { void move();}Car实现了Moveale接口package com.hwj.Dail...原创 2018-08-24 16:26:35 · 296 阅读 · 0 评论 -
java讲义 枚举 弱引用 集合 ArrayDeque
枚举:枚举类默认有一个values方法,返回该枚举的所有的实例SeasonEnum.values()switch可以是任何枚举类型枚举例子:package javajiangyi;public enum enumTest { PLUS{ public double eval(double x,double y){ return x+y; ...原创 2018-07-03 16:13:25 · 177 阅读 · 0 评论 -
jdk jre jvm
1.jre:java运行环境,没有任何开发工具,包含jvm标准和java核心类库jdk:软件开发工具包,在JDK的安装目录下有一个jre目录,里面有两个文件夹bin和lib,在这里可以认为bin里的就是jvm,lib中则是jvm工作所需要的类库,而jvm和 lib合起来就称为jre。2.运行时的数据区域:...原创 2018-06-27 21:25:00 · 151 阅读 · 0 评论 -
java疯狂讲义(二.对象与内存控制)
实例变量与类变量class Test { int num1 = num2 + 2; static int num2 = 10;}类变量的初始化总是在实例变量之前实例变量的初始化三种方式:1.定义时指定2.非静态初始化块中对实例变量指定3.构造器中指定定义变量时指定的初始值和初始化块指定初始值的执行顺序与他们在源程序中的排列顺序相同父类构造器当调用某个类得到构造器来创建java对象.系统总会先...原创 2018-04-19 10:51:28 · 172 阅读 · 0 评论 -
接口例子
程序有个conputer类需要组合一个输出设备两个选择1.直接让computer组合一个printer2.computer组合一个output接口如果使用第一种,如果有一天有一个更好的betterPrinter,需要修改computer,如果有很多类组合了printer,需要修改很多代码所以使用第二种outPut接口public interface Output { public void...原创 2018-06-29 11:46:59 · 888 阅读 · 0 评论 -
ubuntu安装netbeans
1.官网下载Linux版本2.下载之后是.sh文件需要变成可执行文件,我是在下载文件目录下面首先你要打开一个终端。然后输入sudo su随后输入密码。这样就取得了root用户权限。然后找到那个文件(当然是在终端里面用命令找,你可别开一个文件管理器。)执行./sh文件名字就可以了。答案补充比如你有一个sh文件叫1.sh,这个文件在硬盘的/tmp目录里面,要执行的话,就要这样:$ sudo supas...转载 2018-06-25 09:43:32 · 1526 阅读 · 0 评论 -
netbean6.26项目总结
项目:货物管理系统的显示工具:netbean问题:数据库连接出错解决方法:所使用的数据库驱动包太新,更换数据库驱动包版本问题:查询货物的时候只能查询英文的货物,不能查询中文解决方法:url后面参数添加:?useUnicode=true&characterEncoding=UTF-8问题:如何将数据库中的信息显示在表格里面 DefaultTableModel dtm=(DefaultTabl...原创 2018-06-27 10:30:12 · 198 阅读 · 0 评论 -
java8的新特性
1.lambda表达式替换匿名类:以前: 面向对象式编程就应该纯粹的面向对象,于是经常看到这样的写法: 如果你想写一个方法,那么就必须把它放到一个类里面,然后new出来对象,对象调用这个方法。 匿名类型最大的问题就在于其冗余的语法。 有人戏称匿名类型导致了“高度问题”(height problem): 比如大多匿名内部类的多行代码中仅有一行在做实际工作。public class lambada {...原创 2018-06-26 11:49:53 · 121 阅读 · 0 评论 -
java讲义(匿名内部类 lambda表达式)
匿名内部类:适合创建只需要使用一次的类,如果需要重复使用,将实现类定义成一个独立的类new 实现接口(){ 匿名内部类的类体部分}例子接口:public interface A { void test();}主函数:public class niming { public static void main(String args[]){ int age=8; ...原创 2018-07-03 08:31:06 · 350 阅读 · 0 评论 -
java内存模型
基本问题:介绍下 Java 内存区域(运行时数据区)Java 对象的创建过程(五步,建议能默写出来并且要知道每一步虚拟机做了什么)对象的访问定位的两种方式(句柄和直接指针两种方式)拓展问题:String类和常量池8种基本类型的包装类和常量池1 概述对于 Java 程序员来说,在虚拟机自动内存管理机制下,不再需要像C/C++程序开发程序员这样为内一个 new 操作去写对...转载 2018-11-15 17:20:56 · 97 阅读 · 0 评论 -
hashmap底层实现
HashMap 简介底层数据结构分析JDK1.8之前JDK1.8之后HashMap源码分析构造方法put方法get方法resize方法HashMap常用方法测试感谢 changfubai 对本文的改进做出的贡献!HashMap 简介HashMap 主要用来存放键值对,它基于哈希表的Map接口实现,是常用的Java集合之一。JDK1.8 之前 Has...转载 2018-11-16 10:25:30 · 310 阅读 · 0 评论 -
java集合框架
List,Set,Map三者的区别及总结Arraylist 与 LinkedList 区别ArrayList 与 Vector 区别(为什么要用Arraylist取代Vector呢?)HashMap 和 Hashtable 的区别HashSet 和 HashMap 区别HashMap 和 ConcurrentHashMap 的区别HashSet如何检查重复comparable 和...转载 2018-11-16 14:31:35 · 96 阅读 · 0 评论 -
java 文件压缩
package com.hwj.utils;import java.io.ByteArrayOutputStream;import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import java.util.zip.ZipEntry;import java.util.zip.Zip...原创 2019-07-31 09:51:03 · 139 阅读 · 0 评论 -
java 文件内容复制
只是针对单个文件,不针对文件夹package com.hwj.test;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;public class CopyTest { public s...原创 2019-07-31 10:06:38 · 258 阅读 · 0 评论 -
staic final 修饰map
final表示地址不能修改,但是地址对应的内存区域的值是可以修改的关于static :为了实现系统的缓存使用,被所有的对象共享,内存中只有一个副本,当且仅当类初次加载时会被初始化fianl static HashMap<> HASH_MAP = new HashMap<>();这样使用hashmap会有什么影响呢?第一反应是这个hashmap一旦存进...转载 2019-08-15 10:17:48 · 5907 阅读 · 3 评论 -
tomcat server.xml及处理流程
Tomcat是一个基于组件形式的的Web容器,由Server(服务器)、Service(服务)、Connector(连接器)、Engine(引擎)、Host(主机)、Context(应用服务)组成,它们在server.xml里配置:<?xml version="1.0" encoding="UTF-8"?><Server port="8005" shutdown="SH...转载 2019-08-23 15:26:18 · 173 阅读 · 0 评论 -
Applicationcontextaware作用
ApplicationContextAware通过它Spring容器会自动把上下文环境对象调用ApplicationContextAware接口中的setApplicationContext方法。我们在ApplicationContextAware的实现类中,就可以通过这个上下文环境对象得到Spring容器中的Bean。ApplicationContextAware的作用是可以方便获取S...转载 2019-08-26 10:46:17 · 7899 阅读 · 2 评论 -
java 反射 模仿spring IOC机制
IOC:即“控制反转”,不是什么技术,而是一种思想。使用IOC意味着将你设计好的对象交给容器控制,而不是传统的在你的对象内部直接控制。本篇文章主要讲解一下IOC底层实现的原理(反射),Bean容器的实现,就不对IOC的概念进行详述了。在Spring的配置文件中,经常看到如下配置:<bean id="courseDao" class="com.qcjy.learning.Dao....转载 2019-08-27 14:51:37 · 146 阅读 · 0 评论 -
通过自定义注解和java反射实现Spring-DI依赖注入
依赖注入的原理就是简单说就是从头往下递归生成依赖对象的,然后对引用字段赋值最后返回。这里实现通过变量类型来生成相应的对象。模拟一个用户的注册业务,首先是controller层调用service层,然后调用dao层代码实现保存用户。文件结构:package cn.wzy.controller; import cn.wzy.DI.Inject;import cn.wz...转载 2019-08-28 16:30:19 · 425 阅读 · 0 评论 -
JVM知识
Java面试通关手册(Java学习指南)github地址(欢迎star和pull):https://github.com/Snailclimb/Java_Guide下面是按jvm虚拟机知识点分章节总结的一些jvm学习与面试相关的一些东西。一般作为Java程序员在面试的时候一般会问的大多就是Java内存区域、虚拟机垃圾算法、虚拟垃圾收集器、JVM内存管理这些问题了。这些内容参考周的《深入理解Jav...转载 2018-11-22 15:02:56 · 147 阅读 · 1 评论 -
ArrayList
ArrayList简介ArrayList核心源码ArrayList源码分析System.arraycopy()和Arrays.copyOf()方法两者联系与区别ArrayList核心扩容技术内部类ArrayList经典DemoArrayList简介ArrayList 的底层是数组队列,相当于动态数组。与 Java 中的数组相比,它的容量能动态增长。在添加大量元...转载 2018-11-16 14:32:18 · 107 阅读 · 0 评论 -
JVM垃圾回收
[Window Title]Awesomium v1.6.5[Main Instruction]Awesomium v1.6.5 已停止工作[Content]Windows 正在查找该问题的解决方案…[取消]转载 2018-11-16 14:33:12 · 170 阅读 · 0 评论 -
多线程系列
多线程系列文章下列文章,我都更新在了我的博客专栏:Java并发编程指南。Java多线程学习(一)Java多线程入门Java多线程学习(二)synchronized关键字(1)Java多线程学习(二)synchronized关键字(2)Java多线程学习(三)volatile关键字Java多线程学习(四)等待/通知(wait/notify)机制Java多线程...转载 2018-11-16 14:33:47 · 188 阅读 · 0 评论 -
多线程(二)
一 面试中关于 synchronized 关键字的 5 连击1.1 说一说自己对于 synchronized 关键字的了解synchronized关键字解决的是多个线程之间访问资源的同步性,synchronized关键字可以保证被它修饰的方法或者代码块在任意时刻只能有一个线程执行。另外,在 Java 早期版本中,synchronized属于重量级锁,效率低下,因为监视器锁(monitor)是...转载 2018-11-16 14:54:00 · 131 阅读 · 0 评论 -
synchronized
以下内容摘自我的 Gitchat :Java 程序员必备:并发知识系统总结,欢迎订阅!Github 地址:https://github.com/Snailclimb/JavaGuide/edit/master/Java相关/synchronized.mdsynchronized关键字最主要的三种使用方式的总结修饰实例方法,作用于当前对象实例加锁,进入同步代码前要获得当前对象实例的锁修饰...转载 2018-11-16 15:53:55 · 150 阅读 · 1 评论 -
java集合框架(二)
本文是“最最最常见Java面试题总结”系列第三周的文章。主要内容:Arraylist 与 LinkedList 异同ArrayList 与 Vector 区别HashMap的底层实现HashMap 和 Hashtable 的区别HashMap 的长度为什么是2的幂次方HashMap 多线程操作导致死循环问题HashSet 和 HashMap 区别ConcurrentHashM...转载 2018-11-16 16:07:18 · 157 阅读 · 0 评论 -
java IO与NIO
IO流学习总结一 Java IO,硬骨头也能变软二 java IO体系的学习总结三 Java IO面试题NIO与AIO学习总结一 Java NIO 概览二 Java NIO 之 Buffer(缓冲区)三 Java NIO 之 Channel(通道)四 Java NIO之Selector(选择器)五 Java NIO之拥抱Path和Files六 NIO学习总结以及NI...转载 2018-11-16 16:41:30 · 168 阅读 · 0 评论 -
springBean
前言一 bean的作用域1. singleton——唯一 bean 实例2. prototype——每次请求都会创建一个新的 bean 实例3. request——每一次HTTP请求都会产生一个新的bean,该bean仅在当前HTTP request内有效4. session——每一次HTTP请求都会产生一个新的 bean,该bean仅在当前 HTTP session 内有效5...转载 2018-11-16 16:43:44 · 152 阅读 · 0 评论 -
简易版模拟springmvc
package cn.jesseyang.annotation;import java.lang.annotation.*;@Target(ElementType.TYPE)@Retention(RetentionPolicy.RUNTIME)@Documentedpublic @interface JesseController { String value() defa...转载 2019-08-30 10:15:24 · 203 阅读 · 0 评论 -
java 二叉树(已知先序中序求后序)
package chazao.shu;import chazao.shu.Node;public class BiTree { private Node root; public BiTree(){ root = null; } //后序遍历方法递归实现 public void postOrder(Node localRoot){ ...原创 2018-03-15 20:37:16 · 1180 阅读 · 0 评论 -
java String StringBuffer StringBuilder
1.Stringstring是不可变类,如果使用String保存一个经常被更改的字符串,会多很多附加的操作,生成很多无用的对象.string修改字符串原理:当String对字符串修改时,方法会先创建一个StringBuffer,其次调用StringBuffer的append()方法,最后调用StringBuffer的toString()方法把结果返回String s="hello"s+="worl...原创 2018-03-11 20:04:29 · 83 阅读 · 0 评论 -
java中栈和堆
JAVA在程序运行时,在内存中划分5片空间进行数据的存储。分别是:1:寄存器。2:本地方法区。3:方法区。4:栈。5:堆。基本,栈stack和堆heap这两个概念很重要,不了解清楚,后面就不用学了。以下是这几天栈和堆的学习记录和心得。得些记录下来。以后有学到新的,会慢慢补充。 一、先说一下最基本的要点基本数据类型、局部变量都是存放在栈内存中的,用完就消失。new创建的实例化对象及数组,是存放在堆内...转载 2018-03-11 20:29:34 · 161 阅读 · 0 评论