自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(70)
  • 问答 (1)
  • 收藏
  • 关注

原创 java基础之作用域关键字

我是个木得感情的更新机器作用域关键字 public,private,protected用于标记类与方法,变量的作用域作用域 当前类 同一package 子孙类 其他类public √ √ √ √protected √ √ √ ...

2019-12-23 21:23:25 644

原创 java基础之LinkedList

我是个木得感情的更新机器LinkedList的属性:// 链表的表头,表头无数据。Entry是个链表类数据结构,详细明细请看后面。private transient Entry header = new Entry(null, null, null);// LinkedList中元素个数,即当前容量private transient int size = 0;LinkedList节点...

2019-12-23 00:35:13 180

原创 java基础之HashTable

Hashtable继承Map接口,同样实现一个key-value映射的哈希表。其数据结构同样基于数组加链表,任何非空(non-null)的对象都可作为key或者value。Hashtable通过initial capacity和load factor两个参数调整性能。通常缺省的load factor 0.75也和hashMap相同。  由于作为key的对象将通过获取它的hashcode来确定与...

2019-12-21 07:33:37 167

原创 java基础之HashMap

HashMap几乎是java中使用最多数据结构了,还有延伸的版本HashTable,和ConcurrentHashMap等常用的结构。HashMap内部是如何实现的呢,让我们一起来看下:基于哈希表的Map接口的非同步实现。此实现允许使用null值和null键,HashMap实际上是一个“链表散列”的数据结构,即数组和链表的结合体。当我们往HashMap中put元素的时候,先根据key的h...

2019-12-20 22:05:47 90

原创 java基础之值传递与引用传递

以前学过c或c++的童鞋,可能会在使用java时纠结于值传递和引用传递的问题,但其实在java中只有值传递,没有引用传递。任何数据,不管是基本类型,还是引用类型,传到一个方法里时,都是拷贝了一份,所以无法在一个方法里修改他们的值。当然,有些朋友可能会问了,对象传入方法中,我可以根据修改对象的内容啊?因为传递的是对象的话,也就是引用,可以理解为传递的是对象的内存地址,方法内拷贝一份这个地址,也就...

2019-12-20 20:18:54 87

原创 LinkedList源码学习

构成LinkedList的基本结构://采用静态内部类的方式定义,为什么??? private static class Node<E> { E item; Node<E> next; Node<E> prev; Node(Node&am

2018-05-21 23:08:46 116

原创 ArrayList源码学习

ArrayList里面是一个数组实现,比较简单。/* * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free s...

2018-05-16 00:07:40 179

原创 HashMap源码学习

package java.util;import java.io.*;/** * Hash table based implementation of the <tt>Map</tt> interface. This * implementation provides all of the optional ma

2018-05-15 00:29:11 136

原创 String源码学习

/*package java.lang;import java.io.ObjectStreamField;import java.io.UnsupportedEncodingException;import java.nio.charset.Charset;import java.util.ArrayList;import java.util.Arrays;import jav...

2018-05-09 00:19:47 339

原创 疑惑,测试SimpleDateFormat并发的代码执行结果很奇怪。。。

前几天工作中,遇到一个并发环境下有人写了SimpleDateFormat的场景,印象中这个是不能支持多线程的,应该使用ThreadLocal作为每个线程局部变量使用,今天有空,试了下SimpleDateFormat多线程使用,代码如下:/** * TestDateFormat.java * zhm.test.dateFormat * 2018年5月2日下午9:02:07 * */...

2018-05-02 21:55:11 318 1

原创 对于substring内存泄漏的分析

什么是内存泄漏?所谓内存泄漏,简单地说,就是由于疏忽或错误造成程序未能释放已经不再使用的内存的情况,它并不是说物理内存消失了,而是指由于不再使用的对象占据内存不被释放,而导致可用内存不断减小,最终有可能导致内存溢出。 由于垃圾回收器的出现,与传统的C/C++相比,Java 已经把内存泄漏的概率大大降低了, 所有不再使用的对象会由系统自动收集,但这并不意味着已经没有内存泄漏的可能。内存泄漏实际上...

2018-04-24 00:22:08 1070

原创 JAVA动态代理的实现原理

在学习Spring的时候,我们知道Spring主要有两大思想,一个是IoC,另一个就是AOP,对于IoC,依赖注入就不用多说了,而对于Spring的核心AOP来说,我们不但要知道怎么通过AOP来满足的我们的功能,我们更需要学习的是其底层是怎么样的一个原理,而AOP的原理就是java的动态代理机制,所以本篇随笔就是对java的动态机制进行一个回顾。 在java的动态代理机制中,有两个重要的类或接口...

2018-04-18 23:32:54 175

原创 自己写分布式RPC框架

增加了xml文件配置,使用dom4j的方式读取配置文件,并支持多种序列化协议,使用IOC方式将加载序列化对象,可以配置默认的序列化方式,请看git代码:https://github.com/zhuheming222/MyRpc_Client 服务消费者; https://github.com/zhuheming222/MyRpc_Server 服务提供者。

2018-01-15 20:59:53 226

原创 模拟基本的RPC框架代码

最近晚上没事,加上工作上要使用,所以开始自己学习RPC框架,目前写了一个基本的,便于理解,后续往里面添加内容。**服务提供方:**服务接口代码:package zhm.rpc.server;public interface IServer { public String testMethod(String arg);}接口实现类:/** * rpcServerImpl.java *

2017-10-12 22:46:55 715

转载 矩阵覆盖问题

问题描述 我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。 请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形, 总共有多少种方法?解题思路 n=1 - 只有横放一个矩形一种解决办法 n=2 - 有横放一个矩形,竖放两个矩形两种解决办法 n=3 - n=2的基础上加1个横向,n=1的基础上加2个竖向 n=4 - n=3的基础上加1个横向,n=2的基础上加2个竖向

2017-07-14 12:51:16 846

转载 青蛙跳和斐波那契数列(转)

(1)一只青蛙一次可以跳上 1 级台阶,也可以跳上2 级。求该青蛙跳上一个n 级的台阶总共有多少种跳法。 (2)一只青蛙一次可以跳上1级台阶,也可以跳上2 级……它也可以跳上n 级,此时该青蛙跳上一个n级的台阶总共有多少种跳法?分析: ( 1)当n = 1, 只有1中跳法;当n = 2时,有两种跳法;当n = 3 时,有3种跳法;当n = 4时,有5种跳法;当n = 5时,有8种跳法;…….

2017-07-14 09:19:07 285

转载 斐波那契数列解法,矩阵解法,学习

链接:https://www.nowcoder.com/questionTerminal/c6c7742f5ba7442aada113136ddea0c3 来源:牛客网/*      * O(logN)解法:由f(n) = f(n-1) + f(n-2),可以知道      * [f(n),f(n-1)] = [f(n-1),f(n-2)] * {[1,1],[1,0]}      * 所以

2017-07-13 11:01:46 2985

原创 java错题mark_9

能单独和finally语句一起使用的块是( ) 正确答案: A 你的答案: B (错误)try catch throw throws解析:处理异常常用的两种方式: 1、try…catch(捕获处理机制); 2、throws(冒泡处理机制). 注意细节:使用try…catch块捕获时可以没有catch块,但当没用catch块的时候必须得有finally块.故选A)在java中重

2017-07-12 09:46:39 761

原创 java错题mark_8

一般情况下,以下哪个选项不是关系数据模型与对象模型之间匹配关系? 正确答案: D 你的答案: C (错误)表对应类 记录对应对象 表的字段对应类的属性 表之间的参考关系对应类之间的依赖关系目前ORMapping只是规定了数据结构和数据集的映射关系,还没到规定赖关系的阶段说明输出结果。123456789101112package test;import jav

2017-07-11 09:37:30 268

原创 编程题 链表 java

输入一个链表,从尾到头打印链表每个节点的值/*** public class ListNode {* int val;* ListNode next = null;** ListNode(int val) {* this.val = val;* }* }**/import java.ut

2017-07-10 17:56:59 219

原创 编程练习二维数组 java

来源:牛客网 题目描述 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。public class Solution { private static final int CANNOT_FIND_FLAG=-1; /* 思路,先找出二维数组每一行第一个数字,

2017-07-10 17:52:39 2146

原创 java错题mark_7

在开发中使用泛型取代非泛型的数据类型(比如用ArrayList取代ArrayList),程序的运行时性能会变得更好。() 正确答案: B 你的答案: A (错误)正确 错误泛型仅仅是java的语法糖,它不会影响java虚拟机生成的汇编代码,在编译阶段,虚拟机就会把泛型的类型擦除,还原成没有泛型的代码,顶多编译速度稍微慢一些,执行速度是完全没有什么区别的.正确答案: D 你的答案: A

2017-07-10 10:04:39 855

原创 java错题mark_6

链接:https://www.nowcoder.com/questionTerminal/ccaf97ecf8f64e73a8982a6e8c792d4e 来源:牛客网Consider the following code: 1 2 3 Integer s=new Integer(9); Integer t=new Integer(9); Long u=new Long(9);Whi

2017-07-10 09:43:05 515

原创 java错题mark_5

来源:牛客网public class NameList{ private List names = new ArrayList(); public synchronized void add(String name) { names.add(name); } public synchronized void printAll() {

2017-07-10 09:30:20 332

原创 java错题mark_4

链接:https://www.nowcoder.com/questionTerminal/9d852d481c2e41dbb2e88206c72d158e 来源:牛客网字节流继承于InputStream OutputStream,字符流继承于InputStreamReader OutputStreamWriter链接: https://www.nowcoder.com/questionTer

2017-07-07 19:21:20 279

原创 java错题mark_3

来源 牛客网 给出以下代码 public class TestObj{ public static void main(String[] args){ Object o=new Object(){ public boolean equals(Object obj){ return true;

2017-07-07 14:53:47 845

原创 java错题mark_2

如下代码的输出是 package Test; public class Test { private static void test(int[]arr) { for (int i =

2017-07-07 14:40:35 412

原创 java错误mark_1

牛客网下面有关servlet中init,service,destroy方法描述错误的是? init()方法是servlet生命的起点。一旦加载了某个servlet,服务器将立即调用它的init()方法 service()方法处理客户机发出的所有请求 destroy()方法标志servlet生命周期的结束 servlet在多线程下使用了同步机制,因此,在并发编程下servlet是线程安全的来源

2017-07-07 14:37:00 261

原创 java数组定义

来源:牛客网下面哪个语句是创建数组的正确语句?( )float f[][] = new float[6][6];float []f[] = new float[6][6];float f[][] = new float[][6];float [][]f = new float[6][6];float [][]f = new float[6][];牛客用户毛少枫: 在Myeclipse中敲

2017-07-07 12:02:13 1585

原创 多线程很少用,遇到个问题,mark

牛客网题目假设如下代码中,若t1线程在t2线程启动之前已经完成启动。代码的输出是()public static void main(String[]args)throws Exception { final Object obj = new Object(); Thread t1 = new Thread() { public void run() {

2017-07-07 11:54:23 248

原创 hackerRank上的一道题,如何更快

Project Euler #179: Consecutive positive divisors 下面是代码import java.io.*;import java.util.*;import java.text.*;import java.math.*;import java.util.regex.*;public class Solution { public static

2017-06-29 12:17:06 1592

转载 (转)Java ConcurrentModificationException 异常分析与解决方案

一、单线程异常情况举例只要抛出出现异常,可以肯定的是代码一定有错误的地方。先来看看都有哪些情况会出现ConcurrentModificationException异常,下面以ArrayList remove 操作进行举例:使用的数据集合:List<string> myList = new ArrayList<string>();myList.add( "1");myList.add( "2")

2017-02-22 12:06:23 281

转载 (转)java.util.ConcurrentModificationException 解决办法

在使用iterator.hasNext()操作迭代器的时候,如果此时迭代的对象发生改变,比如插入了新数据,或者有数据被删除。则使用会报以下异常: java.util.ConcurrentModificationException at java.util.HashMapHashIterator.nextEntry(HashMap.java:793)atjava.util.Hash

2017-02-22 11:58:02 501

原创 weblogic被管服务启动linux脚本配置

首先,进入Domain_home目录,再使用一下这个脚本cd ./bin#根据需求配置参数#配置jvm 内存大小,方法区大小 ,再配置GC算法, 配置进程池大小,export USER_MEM_ARGS="-Xms2048m -Xmx2048m -XX:PermSize=512m -XX:MaxPermSize=512m -XX:+UseConcMarkSweepGC -Dweblogic.

2017-02-19 14:12:35 2606

原创 linux中抓取java运行性能问题脚本

在linux系统中部署java应用,有时为了查询java应用的性能或者死锁之类的问题,需要使用jdk中的jstack工具来做,可以写如下脚本进行自动记录 java函数栈信息,分析性能问题。#!/bin/bash#weblogicPath=/app/weblogic/bea/user_projects/domains/OAdomain#jdk的安装目录javaPath=/jdk1.6.0_2

2017-02-19 14:03:55 1083

原创 linux bash脚本监控启动停止weblogic服务

有时,linux系统需要做HA或者类似的功能,需要配置weblogic脚本来启动,停止,查看状态,可以如下方式写 命令形式:Weblogic server start|stop|restart|status### BEGIN WLS ConfigrationDOMAIN_NAME=base_domainSERVER_NAME=AServer ADMIN_URL="t3://ip:7001"

2017-02-19 13:56:43 1278

转载 $(function()与(function($)等的区别详细

(function($) {…})(jQuery);这里实际上是匿名函数,如下:function(arg){…} 这就定义了一个匿名函数,参数为arg而调用函数时,是在函数后面写上括号和实参的,由于操作符的优先级,函数本身也需要用括号,即: (function(arg){…})(param) 这就相当于定义了一个参数为arg的匿名函数,并且将param作为参数来调用这个匿名函数而(functi

2017-02-03 14:34:14 438

原创 getClass()方法题目测试

importjava.util.Date;public class Test extends Date{ public static voidmain(String[] args) { new Test().test(); } public void test(){ System.out.println(super.getClass().getNa

2016-12-08 00:08:22 386

转载 tomcat性能优化

考虑一下这种场景,你开发了一个应用,它有十分优秀的布局设计,最新的特性以及其它的优秀特点。但是在性能这方面欠缺,不管这个应用如何都会遭到客户拒绝。客户总是期望它们的应用应该有更好的性能。如果你在产品中使用了Tomcat服务器,那么这篇文章就会给你几方面来提升Tomcat服务器的性能。感谢ITWorld article给本文提供资源。经过沉思我已经知道了和早期版本相比最新的Tomcat提供更好的性能和

2016-10-27 21:38:02 244

转载 Server.xml配置

Server.xml配置文件用于对整个容器进行相关的配置。 Server元素:是整个配置文件的根元素。表示整个Catalina容器。 属性:className:实现了org.apache.catalina.Server接口的类名,标准实现类是org.apache.catalina.core.StandardServer类。Port:Tomcat服务器监听用于关闭Tomcat服务器的命令(必须)S

2016-10-27 21:35:32 448

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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