java 论论
文章平均质量分 92
sunnylovecmc
我不仅生产知识,还是知识的搬运工!让大家都能欣赏到优秀的博文!
展开
-
为什么 HashMap 的加载因子是0.75?数学的运用!
有很多东西之前在学的时候没怎么注意,笔者也是在重温HashMap的时候发现有很多可以去细究的问题,最终是会回归于数学的,如HashMap的加载因子为什么是0.75?本文主要对以下内容进行介绍: 为什么HashMap需要加载因子? 解决冲突有什么方法? 为什么加载因子一定是0.75?而不是0.8,0.6? 为什么HashMap需要加载因子?HashMap的底层是哈希表,是存储键值对的结构类型,它需要通过一定的计算才可以确定数据在哈希表中的存储位置:staticfi.原创 2020-11-10 17:55:11 · 512 阅读 · 1 评论 -
Class.forName 和 ClassLoader 到底有啥区别?
前言最近在面试过程中有被问到,在Java反射中Class.forName()加载类和使用ClassLoader加载类的区别。当时没有想出来后来自己研究了一下就写下来记录一下。解释在java中Class.forName()和ClassLoader都可以对类进行加载。ClassLoader就是遵循双亲委派模型最终调用启动类加载器的类加载器,实现的功能是“通过一个类的全限定名来获取描述此类的二进制字节流”,获取到二进制流后放到JVM中。Class.forName()方法实际上也是调用的ClassLoa转载 2020-11-10 17:35:08 · 263 阅读 · 0 评论 -
Java 性能调优 8 步走,让调优不再困难!
前言Java 应用性能优化是一个老生常谈的话题,典型的性能问题如页面响应慢、接口超时,服务器负载高、并发数低,数据库频繁死锁等。尤其是在“糙快猛”的互联网开发模式大行其道的今天,随着系统访问量的日益增加和代码的臃肿,各种性能问题开始纷至沓来。Java 应用性能的瓶颈点非常多,比如磁盘、内存、网络 I/O 等系统因素,Java 应用代码,JVM GC,数据库,缓存等。笔者根据个人经验,将 Java 性能优化分为 4 个层级:应用层、数据库层、框架层、JVM 层,如图 1 所示。图 1.Java转载 2020-11-10 17:31:08 · 452 阅读 · 0 评论 -
几个IDEA的Sao技巧,效率提升了10倍,网友:没有灵魂!
今天,在网上看到一篇关于作者介绍IDEA技巧的文章,有网友吐槽说,用IDEA写代码没有灵魂!我当场懵逼了~IDEA提供了这么多快捷的方式不用,那还用这种高级编辑器干嘛,干脆用记事本,不就显得更牛逼~作为一位IDEA的死忠粉,我也经常用IDEA的骚技巧~这里,我给各位同学分享一下,我经常用的几个技巧,但不限于这些。1、几个快捷键每次当你打开IDEA的时候,便会给你展现一个欢迎界面,会有4个快捷键,见版本号:2020.2Alt+...转载 2020-09-29 11:38:39 · 179 阅读 · 0 评论 -
Elasticsearch 是做什么的以及它的使用和基本原理
生活中的数据搜索引擎是对数据的检索,所以我们先从生活中的数据说起。我们生活中的数据总体分为两种: 结构化数据 非结构化数据 结构化数据:也称作行数据,是由二维表结构来逻辑表达和实现的数据,严格地遵循数据格式与长度规范,主要通过关系型数据库进行存储和管理。指具有固定格式或有限长度的数据,如数据库,元数据等。非结构化数据:又可称为全文数据,不定长或无固定格式,不适于由数据库二维表来表现,包括所有格式的办公文档、XML、HTML、Word 文档,邮件,各类报表、...转载 2020-09-29 11:34:31 · 1931 阅读 · 0 评论 -
Java 压缩20M文件从30秒到1秒的优化过程
有一个需求需要将前端传过来的10张照片,然后后端进行处理以后压缩成一个压缩包通过网络流传输出去。之前没有接触过用Java压缩文件的,所以就直接上网找了一个例子改了一下用了,改完以后也能使用,但是随着前端所传图片的大小越来越大的时候,耗费的时间也在急剧增加,最后测了一下压缩20M的文件竟然需要30秒的时间。压缩文件的代码如下。 public static void zipFileNoBuffer() {File zipFile = new File(ZIP_FILE);try..转载 2020-09-29 11:30:56 · 764 阅读 · 0 评论 -
面试命中率90%的点 —— MySQL锁
一、对MySQL的锁的了解当数据库有并发事务的时候,可能会产生数据的不一致,这时候需要一些机制来保证访问的次序,锁机制就是这样的一个机制。就像酒店的房间,如果大家随意进出,就会出现多人抢夺同一个房间的情况,而在房间上装上锁,申请到钥匙的人才可以入住并且将房间锁起来,其他人只有等他使用完毕才可以再次使用。二、隔离级别与锁的关系在Read Uncommitted级别下,读取数据不需要加共享锁,这样就不会跟被修改的数据上的排他锁冲突在Read Committed级...转载 2020-09-29 11:14:47 · 1014 阅读 · 0 评论 -
你的Redis为什么变慢了?常见延迟问题定位与分析
Redis作为内存数据库,拥有非常高的性能,单个实例的QPS能够达到10W左右。但我们在使用Redis时,经常时不时会出现访问延迟很大的情况,如果你不知道Redis的内部实现原理,在排查问题时就会一头雾水。很多时候,Redis出现访问延迟变大,都与我们的使用不当或运维不合理导致的。这篇文章我们就来分析一下Redis在使用过程中,经常会遇到的延迟问题以及如何定位和分析。使用复杂度高的命令如果在使用Redis时,发现访问延迟突然增大,如何进行排查?首先,第一步,建议你去查看一下Redis转载 2020-09-29 11:12:57 · 1242 阅读 · 0 评论 -
为什么 Java 的 main 方法必须是 public static void?
Main 方法是我们学习 Java 编程语言时知道的第一个方法,你是否曾经想过为什么 main 方法是 public、static、void 的。当然,很多人首先学的是 C 和 C++,但是在 Java 中 main 方法与前者有些细微的不同,它不会返回任何值,为什么 main 方式是 public、static、void,这篇文章尝试去找到一些答案。Main 方法是 Java 程序的入口,记住,我们这里不会讨论 Servlet、MIDlet 和其他任何容器管理的 java 程序,在 java 核心转载 2020-09-29 11:07:05 · 153 阅读 · 0 评论 -
震惊了~某程序员竟然在深夜偷偷在代码里下毒!
目录 一、前言 二、代码有毒! 1. 方法命名 2. 最佳排序 3. 有点烧脑 4. 迷之求和 5. 花里胡哨 6. 数字判断 7. 代码健壮 8. 性能优化 9. 无用日志 10. 耗时遍历 三、总结 一、前言学过的代码记不住?方式不对才记不住,你这么记! Git:上厕所不叫上厕所,叫拉分支! S.转载 2020-09-29 11:04:44 · 371 阅读 · 0 评论 -
Java序列化和反序列化为什么要实现Serializable接口?
最近公司的在做服务化, 需要把所有 model 包里的类都实现 Serializable 接口, 同时还要显示指定 serialVersionUID 的值. 听到这个需求, 我脑海里就突然出现了好几个问题, 比如说: 序列化和反序列化是什么? 实现序列化和反序列化为什么要实现 Serializable 接口? 实现 Serializable 接口就算了, 为什么还要显示指定 serialVersionUID 的值? 我要为 serialVersionUID 指定个什么值?转载 2020-09-28 18:38:48 · 128 阅读 · 0 评论 -
InnoDB中一棵B+树可以存放多少行数据?
InnoDB一棵B+树可以存放多少行数据?这个问题的简单回答是:约2千万。为什么是这么多呢?因为这是可以算出来的,要搞清楚这个问题,我们先从InnoDB索引数据结构、数据组织方式说起。我们都知道计算机在存储数据的时候,有最小存储单元,这就好比我们今天进行现金的流通最小单位是一毛。在计算机中磁盘存储数据最小单元是扇区,一个扇区的大小是512字节,而文件系统(例如XFS/EXT4)他的最小单元是块,一个块的大小是4k,而对于我们的InnoDB存储引擎也有自己的最小储存单元——页(Page),一个页的大.转载 2020-09-28 18:33:26 · 391 阅读 · 0 评论 -
运维之美-设置服务别名 ssh命令快速启动 macbook
经常要用ssh登录远程服务器,每次都输入用户名和密码比较麻烦。可以设置一下ssh服务器别名。免秘钥公司用的动态口令,免不了。 需要的自行百度我们可以使用 SSH 默认配置文件来创建 SSH 别名。为此,编辑 ~/.ssh/config 文件(如果此文件不存在,只需创建一个):$ vi ~/.ssh/config添加所有远程主机的详细信息,如下所示:Host m6 HostName a.XXXXXXX.com Port 22 User sunny123--这里换成你自己的用户名Hos原创 2020-05-27 15:45:31 · 362 阅读 · 0 评论 -
nginx 的mac的配置参数说明-非常详细!
mac下nginx的配置文件在:/usr/local/etc/nginx/nginx.conf#定义Nginx运行的用户和用户组,来指定Nginx Worker进程运行用户以及用户组,默认由nobody账号运行user nobody;#nginx进程数,建议设置为等于CPU总核心数。worker_processes 4;#全局错误日志定义类型,[ debug | info | notice | warn | error | crit ],其中debug输出日志最为最详细,而crit输出日志原创 2020-05-09 16:40:23 · 1701 阅读 · 0 评论 -
聊天室——多线程应用
package com.itshixun.steven.net;import java.io.IOException;import java.util.Date;import java.util.HashMap;import java.util.Map;public class ChattingRoom { /** * map中key是nickName */ private Map原创 2009-10-10 23:43:00 · 1030 阅读 · 0 评论 -
【Java】编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。但是要保证汉字不被截半个,如“我ABC”4,应该截为“我AB”,输入“我ABC汉DEF”,6,应该输出为“我ABC”而不是“我ABC+汉的半个”。
【Java】编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。但是要保证汉字不被截半个,如“我ABC”4,应该截为“我AB”,输入“我ABC汉DEF”,6,应该输出为“我ABC”而不是“我ABC+汉的半个”。 public class KartString { public static String bSubstring(String s, int lengt原创 2009-11-30 17:51:00 · 4498 阅读 · 0 评论 -
Struts1.x Spring2.x Hibernate3.x DWR2.x 整合工具文档
Struts1.x Spring2.x Hibernate3.x DWR2.x整合工具文档版本及作者信息杨帆 博 邮V0.99 V1.00 V1.01 V1.2青岛软件园目录Struts1.x Spring2.x Hibernate3.x DWR2.x整合工具文档v1.01......................................................1文档约定....翻译 2009-12-03 17:59:00 · 1306 阅读 · 1 评论 -
生成本地文件/格式化时间/获取时间差 工具类
/** * */import java.io.BufferedWriter;import java.io.File;import java.io.FileWriter;import java.io.PrintWriter;import java.text.SimpleDateFormat;import java.util.Date;import java.util.List;原创 2012-10-18 17:26:51 · 2404 阅读 · 0 评论 -
ftp上传文件工具类
import sun.net.ftp.*;import sun.net.*;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.ByteArrayOutputStrea原创 2012-10-18 17:20:01 · 2905 阅读 · 0 评论 -
读取excel文件,支持doc ,docx格式 附带上传方法
没有用任何现有框架,以后遇见的在写用框架的吧首先需要的jar包:poi-3.8-beta2-20110408.jar poi-examples-3.8-beta2-20110408.jar poi-excelant-3.8-beta2-20110408.jar poi-ooxml-3.8-beta2-20110原创 2012-10-18 17:59:08 · 2400 阅读 · 0 评论 -
Java 读取excel文件 兼容97-2013 V2.0
注释里有struts的上传文件和Springmvc有些不一样。读写都是一样的 修复删除缓存文件占用的问题package com.telling.cw.util.poi;import org.apache.poi.hssf.usermodel.*;import org.apache.poi.ss.usermodel.DataFormatter;import org.apache.poi.s原创 2014-08-29 17:02:19 · 12452 阅读 · 6 评论 -
intellij idea 13&14 插件推荐及快速上手建议 (已更新!)
intellij idea 13 插件推荐及快速上手建议 Could not save application settings: ...... $OPTIONS$/IdentifierHighlighter.xml原创 2014-05-22 09:50:03 · 141340 阅读 · 24 评论 -
velocity(vm)模板引擎学习介绍及语法
velocity与freemaker、jstl并称为java web开发三大标签技术,而且velocity在codeplex上还有.net的移植版本NVelocity,(注:castle团队在github上也维护了一个版本)对于使用异构技术的团队(即要搞.NET又要搞JAVA),总是希望找一种通用的技术,兼容所有技术平台,以便降低学习成本,无疑velocity是一种值得考虑的选择。转载 2016-10-12 14:10:41 · 76656 阅读 · 1 评论 -
java中map 9种常规用法
通常来说,Map是一个由键值对组成的数据结构,且在集合中每个键是唯一的。下面就以K和V来代表键和值,来说明一下java中关于Map的九大问题。0、将Map转换为List类型在java中Map接口提供了三种集合获取方式:Key set,,value set, and key-value set.。它们都可以通过构造方法或者addAll()方法来转换为List类型。下面代码就说转载 2016-10-13 14:33:03 · 27220 阅读 · 0 评论 -
转 mysql安全设置
[转 mysql安全设置] 使用MySQL,安全问题不能不注意。以下是MySQL提示的23个注意事项: 1.如果客户端和服务器端的连接需要跨越并通过不可信任的网络,那么就需要使用SSH隧道来加密该连接的通信。 2.用set password语句来修改用户的密码,三个步骤,先“mysql -u root”登陆数据库系统,然后“mysql> update mysql.user转载 2010-01-20 14:21:00 · 765 阅读 · 0 评论 -
给对linux感兴趣的初学者的文章
给对linux感兴趣的初学者的文章 收藏 序言:给Linux新手 ================================= by YUHJ@SMTH BBS from 水木清华 你从来只用过Windows,从来没接触过UNIX,只知道把一个文件拽 来拽去,只知道硬盘就是C: D: E:却从来没有研究过分区表,也许 会用VC编个程序,很习惯它的集成环境.... 有一天,不管什么原转载 2010-01-20 14:09:00 · 1018 阅读 · 0 评论 -
用Java实现按字节长度截取中英文数字字符串的方法总结
用Java实现按字节长度截取中英文数字字符串的方法总结方法一//jdk1.4.2.05Java代码 <a title="复制代码" onclick="function onclick(){dp.sh.Toolbar.CopyToClipboard(this);return false;}" href="http://cnaning.javaeye.com/blo原创 2009-10-15 16:53:00 · 6245 阅读 · 0 评论 -
数据结构,查找方法总结
单项选择题 1.顺序查找法适合于存储结构为 的线性表。 A. 散列存储 B. 顺序存储或链接存储 C. 压缩存储 C. 索引存储 2.对线性表进行折半查找时,要求线性表的存储方式是 。 A. 顺序存储 B. 链接存储 C. 以关键字有序排序的顺序存储 D. 以关键字有序排序的链接存储 3.顺序查原创 2009-10-15 16:56:00 · 10787 阅读 · 1 评论 -
冒泡排序法的三种方法。
冒泡法:public class Sort{ public static void main(String[] args){ Random rand = new Random(); int numCount = 10; int[] numArray = new int[numCount ]; for(int i = 0; i numArray[i] = rand.nex原创 2009-10-10 23:24:00 · 943 阅读 · 0 评论 -
复制一个文件到另一个文件——IO流的应用
package com.itshixun.steven.fileio;import java.awt.image.BufferedImage;import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io原创 2009-10-10 23:36:00 · 2209 阅读 · 0 评论 -
交换两个数的位置
public class FB{ public static void main(String[] args){ long n_2 = 0, n_1 = 0; for(int i = 1; i if(i==1){ System.out.println("FB "+i+":/t"+1); n_1 = 1; }else{ System.out.println原创 2009-10-10 23:28:00 · 1212 阅读 · 0 评论 -
九九乘法表
public class Ninenine { public static void main(String[] args) { for (int i=1;i for (int j=1; j System.out.print(i+"*"+j+"="+(i*j)+"/t"); } System.out.pri原创 2009-10-10 23:40:00 · 563 阅读 · 0 评论 -
猜数字游戏---可以扩展为升级版
package com.itshixun.game;import java.io.IOException;import java.util.Random;import java.util.Scanner;public class GuessNumberGame { private int guess; private int right; private int minNumber原创 2009-10-10 23:29:00 · 1071 阅读 · 0 评论 -
八皇后代码!Java
public class Queen8 { static final int QueenMax = 8; static int oktimes = 0; static int chess[] = new int[QueenMax];// 每一个Queen的放置位置 public Queen8() { for (int i = 0; i chess[i] = -1; placequ原创 2009-10-08 22:00:00 · 957 阅读 · 1 评论 -
简单的目录树代码!Java
import java.io.File; public class FileTree { public static void main(String[] args) { File f=new File("D://CEO青软实训"); tree(f,0); } private static void tree(File f, int level) { String p原创 2009-10-08 21:40:00 · 1163 阅读 · 0 评论 -
求最大公约数 Java递归
public class RevTest { static int Gcd(int n,int m) { if(n return Gcd(m,n); if(m==0) return n; return Gcd(m,n%m); } public static void main(String[] args) { System.out.println(Gcd(48,32)原创 2009-10-08 21:39:00 · 1052 阅读 · 0 评论 -
Java与数据库的结合,应用实例。以学生表、选课表为例。可以自己扩展功能。
这个工程分很多包和具体地类别,以便与层次清晰,这样是个良好的习惯。当一个工程大到要用几百几千个包的时候,这个方式就会很有利于你的编程了。=================================================================================== studentdb.sql文件///在查询分析器运行和刷新即可。就可以得到数据原创 2009-10-17 22:19:00 · 2482 阅读 · 1 评论 -
MySQL 的 23 条安全注意事项
1.如果客户端和服务器端的连接需要跨越并通过不可信任的网络,那么就需要使用SSH隧道来加密该连接的通信。2.用set password语句来修改用户的密码,三个步骤 “先mysql -u root登陆数据库系统” 然后“mysql> update mysql.user set password=password(newpwd)” 最后执行“flush privileges”就可以了。3原创 2009-10-18 21:11:00 · 669 阅读 · 0 评论 -
dreamweaverMX通用分页代码研究
dreamweaverMX通用分页代码研究 收藏 dreamweaverMX已经正式发布了,Deamweaver4 + Deamweaver ULTRADEV 4 的组合使他成为当然的制做网页的首选工具,(好象做广告:) )好了,进入正题,我在以前做网页的分页时候都是用自己写的服务端脚本(我从不用ADO的分页),用了MX后发现在这里面用分页太方便了,不过代码也有点太长了,大家看下面的代码就可以知道转载 2010-01-20 14:07:00 · 649 阅读 · 0 评论 -
asp 中常用的文件处理函数
asp 中常用的文件处理函数 收藏 asp 中处理文件上传以及删除时常用的自定义函数所有自定义的VBS函数转载 2010-01-20 14:04:00 · 591 阅读 · 0 评论