
编程语言-java
根哥的博客
big world needs big-data-manager !
展开
-
java进程内存分析工具-生成core dump文件,并读取分析:jmap, jhat
【代码】java进程内存分析工具-生成core dump文件,并读取分析:jmap, jhat。原创 2023-11-08 11:19:17 · 1149 阅读 · 0 评论 -
MongoDB 之java API
linux安装MongoDB(https://blog.youkuaiyun.com/eyeofeagle/article/details/96428363 ), 使用java api测试数据库语法import com.mongodb.*;import com.mongodb.client.FindIterable;import com.mongodb.client.MongoCollection;i...原创 2019-11-12 15:36:06 · 664 阅读 · 0 评论 -
朴素贝叶斯分类: 使用案例
1,朴素贝叶斯公式:定义1.1 全概率公式:1.2 贝叶斯公式:设 x= {a1, a2, a3…, am } 为一个待分类项,而每个a为x的一个特征属性。有类别集合:C ={ y1, y2, y3 …, yn }计算一个概率集合U : P(y1|x), P(y2|x), P(y3|x)…P(yn|x)x最可能的类别 <==> 集合原创 2018-10-24 17:07:40 · 6585 阅读 · 0 评论 -
贝叶斯公式:通俗的理解
如上文提到的贝叶斯公式,《朴素贝叶斯分类: 使用案例》,可以使用它来做文本分类:【已知:样本中每个分类下的单词概率ceilPencent, 样本的分类占比(也即概率分布)bodyPencent】来了一篇文章, 求: 属于哪个分类?==> 来了好多单词,求: 它们归属于哪个分类?下面来分析一下: 哪个是P(A), 哪个是P(B) ?1,首先,要了解:什么是先验概率?后验概率?...原创 2018-10-31 13:49:28 · 11054 阅读 · 0 评论 -
java增强: ssm框架整合
整合思路: 各组件的关联 配置整合 ssm使用: jsp + jstl + servlet = mysql 的crud ( 用户信息分页管理 )part1: 整合ssm第一步: 使用idea 新建module: java web---> add framework support: maven---> 管理依赖jar包,修改pom.xml ...原创 2018-09-19 13:46:01 · 1213 阅读 · 0 评论 -
springboot案例helloworld,分页插件
在idea下, 创建java项目, 配置maven支持1, 配置pom.xml<parent> <groupId>org.springframework.boot</group原创 2019-01-22 16:58:59 · 449 阅读 · 0 评论 -
java: 数据结构--栈(数组)
栈: 规则[ 先进来的数据, 必须最后出来]实现方式: ==> 新的数据, 追加到数组后面, 取数据时, 从最后的索引开始 /** * 栈: 数组 * @author wang * */public class MyStack { //属性 int[] arr; int index; //构造 public MySta...原创 2018-07-11 11:32:06 · 339 阅读 · 0 评论 -
java: 写出优雅的--线程死锁案例
需求: 写几行代码, 实现线程死锁 ?分析:1, 需要写几个线程? ( 单个线程, 无法和别人竞争锁, 不存在死锁的情况, 所以最少要写2个线程)2, 创建几个锁? ( 所谓n个线程, 和别人竞争锁===>意思就是: 抢别人的锁 && 别人占用的锁不给你)3, 如何实现: 抢别人的锁 && 别人占用的锁不给你 ===>你抢的是我的锁 &...原创 2018-07-07 20:12:00 · 441 阅读 · 0 评论 -
java增强: jvm内存模型
jvm存储模型:堆,栈,方法区.... jvm各区域内存:调配控制 jvm内存的动态分配,回收, (对象的创建,垃圾回收gc) jvm性能监测工具: jconsole, jvisualvm, jmap (gc监测工具:jstat) JVM (Java Virtual Machine, 它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能...原创 2018-09-15 16:45:31 · 889 阅读 · 0 评论 -
java泛型:几个“特殊”场景
/** * 测试: 泛型多态 * @author wang * */public class GenericT { //================定义泛型方法=================== public static void say(List<Object> list) {} public static void say2(List<?>...原创 2018-06-29 01:01:25 · 629 阅读 · 0 评论 -
学习jdk源码: 自定义HashSet类
public class HashSetT<E> { // 属性: map容器(key=输入的参数, value=常量) private transient HashMap<E, Object> map;// map容器:存放键(值对):键-->泛型 E private static final Object CONST = new Object();// ...原创 2018-06-28 23:53:39 · 415 阅读 · 0 评论 -
java: 数据结构---栈(链表)
链表的结构如下:( 1, head是一个引用地址, 用来指引最新的数据[ 栈: 先进后出]Node newNode=new Node(data); 2, 新加入的数据被封装为Node对象, 若容器为空时, 新node没有下一个;Node tmp=head;...原创 2018-07-11 10:30:35 · 486 阅读 · 0 评论 -
java: 集合的"妙用"--统计文件中字符的数量
需求: 有一个文件a.txt, 比如有''aa bb cc dd ef ghab"等多行字符, 如何统计每个字符出现的次数? 并把统计结果保存到文件b.txt 中 ? /** * 统计: 文件的字符数----->按数量升序排列 * * @author wang * * 思路: 输入流/输出流 --->读文件为char -->存入TreeMap: (char,...原创 2018-07-04 00:26:24 · 1595 阅读 · 0 评论 -
java: io操作---文件按指定大小拆分合并1
需求: 某文件太大, 需要拆分保存, 问如何快速拆分? 拆分后如何完整合并?/** * a.tar.gz--->均分为n份, 例如如每份大小50m, ======>合并该目录下的_1,_2..._n文件为a.tar.gz * * @author wang * */public class FileDepart { //拆分:大文件--->指定目录=====...原创 2018-07-03 21:43:19 · 2048 阅读 · 8 评论 -
学习jdk源码: 自定义StringBuffer类
先看StringBuffer类的定义:所以,第一步: 先定义父类------->AbstractStringBuilder, 模拟创建一个类public class AbstractStringBuilderT { //属性 char[] value; int count; //构造 AbstractStringBuilderT() {} AbstractStringBuil...原创 2018-06-27 21:22:37 · 1021 阅读 · 0 评论 -
java设计模式10 ---- 生产者-消费者模式[线程]
需求: 模拟两个线程的--沟通协作(一个生产者线程, 一个消费者线程), 如何保证他们正常通信?角色1--两个线程的工作目标: 中间物/** * 角色: * 1,中间物: name, falg * 2,生产者: flag, 中间物, getName() * 3,消费者: flag, 中间物, setName() * @author wang * */public class F...原创 2018-07-07 23:21:05 · 414 阅读 · 0 评论 -
java设计模式11: 责任链模式+模板模式
1,什么是: 责任链? 链表式轮询机制==>询问a ( a-->询问b (b-->询问c (...2,java 如何模拟: 此机制?===>类似log4j 日志打印体系,如:debug,error,info等级别,若指定打印级别: error, 可打印info, debug, error若指定级别为:debug, 可打印info ,debug若指定级别: info, 可打...原创 2018-07-13 20:50:36 · 1293 阅读 · 0 评论 -
java: io操作---文件按指定大小拆分合并2
需求: 某文件太大, 需要拆分保存, 问如何快速拆分? 拆分后如何完整合并?使用的java类:RandomAccessFile =========================================================拆分思路:一个''输入流''--->分内容到: 多个''输出流''合并思路:多个''输入流''---->合并内容到: 一个''输出流''==...原创 2018-07-14 15:21:37 · 861 阅读 · 0 评论 -
java日期工具类Calendar
1,获取时间:年,月,日 时:分:秒Calendar calendar = Calendar.getInstance(); int year = calendar.get(Calendar.YEAR); int month = calendar.get(Calendar.MONTH); int day_month = calendar.get(Calendar.DAY_OF_MONTH...原创 2019-01-21 16:40:52 · 619 阅读 · 0 评论 -
java增强: ssm框架整合
整合思路: 各组件的关联关系 配置文件: 组合各组件的关系 ssm的使用: jsp + jstl + servlet = mysql的curd操作part1: 组织配置文件 (整合ssm)使用idea 新建module-->java web--->add framework support: maven, 项目结构如下第一步: 使用maven 管...原创 2018-11-03 17:58:51 · 339 阅读 · 0 评论 -
java增强:反射机制,内省机制
反射机制概念 发射的使用场景 内省机制的使用part1 :反射机制( jdk提供的一套api, 用于动态创建对象 )part2: 反射的使用----两个对象间属性值的复制(浅copy: 复制一个对象,会调用构造函数)一个存在继承关系的类: 对象的浅copy 代码实现如下1, 定义两个javabeanpublic class Per { //属性...原创 2018-09-15 13:30:40 · 488 阅读 · 0 评论 -
Java增强:静态代理与动态代理
什么是代理模式 ? 有几种代理模式,代码实现 代理模式 和 装饰模式的区别part1: 代理模式的概念代理模式: 不改变源码的情况下,实现对目标对象的功能扩展,对代理的对象施加控制,并不提供对象本身的增强功能(装饰模式为所装饰的对象增强功能,组织结构类似于静态代理, 但‘同途 梳归’, 两个目的不同)part2: 代码实现(动态代理)A, 定义接口inter...原创 2018-09-15 11:32:13 · 482 阅读 · 0 评论 -
java增强: spring框架
基本概念:起源,优点 基本使用 整合mybatis框架Spring: 是一个开源的轻量级容器框架(包含并管理应用对象的配置和生命周期,javabean的创建方式可配置为prototype 或singleton ) 提倡的编程思想是:控制反转(IoC), 面向切面(AOP)Spring 的起源:Rod Johnson 在2002年编著的《Expert one on one J2EE ...原创 2018-09-17 19:42:04 · 505 阅读 · 0 评论 -
java增强: mybatis框架
mybatis简介 如何使用: 入门级 进阶教程MyBatis ,持久层框架, 以XML 或注解的方式, 将接口和 Java 的 POJO(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。part1: 初步配置使用(使用 idea + maven)第一步: 创建一个module, java --> 添加maven 支持,在po...原创 2018-09-16 20:42:43 · 501 阅读 · 0 评论 -
java数据结构: 统计5亿数字去重后的个数(byte数组标记数字)
面试题:内存为300M, 设计一个算法, 计算5亿int类型数去重后, 还有多少个数?/** * //传入5亿个: int 型数据: 计算去重后的 , 数字个数 ===》 * 限制要求 : 内存仅 300M * * int a: 4byte * 300M -->300*1024*1024byte: 7800万 个int , 存放不了3亿个Int ! ...原创 2018-09-07 21:25:21 · 1298 阅读 · 0 评论 -
java多线程面试题: 模拟消费问题
问题1: 蜜蜂与熊--- (生产,容器, 消费 ) 问题2: 和尚与馒头--(消费, 管理者)蜜蜂与熊:蜜蜂100只,每只生产力度1,往罐子加蜜,满50停止生产; 熊有2个,等罐子满20就吃光所有蜜,请模拟出现的场景?( 分析: 生产者【蜜蜂】--->同步锁【罐子】--->消费者【熊】 )//容器类: 充当线程的锁, 实现thread同步 ---创...原创 2018-09-07 20:41:14 · 535 阅读 · 0 评论 -
java: 文件夹的递归拷贝/删除
需求: 快速拷贝,使用 ‘缓冲字节流’, 复制某路径下的子所有子目录和文件, 到另一个路径/** * 复制: 某目录的所有--文件--》递归复制到:另一个地方 * @author wang * */public class FileCopy {public static void main(String[] args) throws IOException { Strin...原创 2018-07-03 01:23:35 · 431 阅读 · 0 评论 -
java: 开发中遇到的“陷阱”
1, 中文输入问题:【解决:切换回半角输入,删除‘圆角输入法’时,输入的空格】2,a, 特殊的注释【\uxxx】,编译报错,解决:【系统会默认为这是unicode字符,因不符合格式-->: \u后面是4个a-f的字母,而报错所以,不要出现\u...的转义字符】 b, 换行转义符:\u000a , 在注释中出现,造成的陷阱 上面的程序, 修改第二行的注释,去掉中间的//程序编译报...原创 2018-07-03 01:14:07 · 931 阅读 · 0 评论 -
java设计模式7--模板模式
类的组织结构:最终测试结果:===》具体代码://抽象父类======================/**使用模板模式: 仿照日志的打印*/public abstract class F { //抽象方法1 abstract void before(); //抽象方法2 abstract void doMethodlog(); //抽象方法3 abstract void a...原创 2018-06-21 17:28:40 · 305 阅读 · 0 评论 -
java 代码块-静态代码块: 执行顺序
静态代码块static{ }---static 成员变量public class Block { static int b=100; static { b=-1; } //测试 public static void main(String[] args) { System.out.print(b);//-1 }}//-----------------------...原创 2018-06-21 16:37:51 · 301 阅读 · 0 评论 -
java多态(属性?静态方法?)--内部类定义?
编译,运行==结果:答案是否定的--->多态只限于普通方法,属性和静态方法没有多态!原创 2018-06-21 11:01:21 · 560 阅读 · 0 评论 -
jvm命令: java a.class文件的汇编过程
源码:a.java调用javac编译:调用java执行程序:原创 2018-06-11 21:21:54 · 945 阅读 · 0 评论 -
java 位运算简单应用
1, 判断奇偶: public static void isOdd(int num) { //判断奇偶: 1奇数 0偶数 int res=num&1; //判断res String resStr=(res^1)==0?"奇数":"偶数"; System.out.println(resStr); }2, 两个整数互相交换:public static ...原创 2018-04-30 15:18:32 · 360 阅读 · 0 评论 -
jfinal框架项目--学习笔记
概括: 项目亮点----->: 使用数据库, 保存权限所允许的操作功能 (分级保存操作: 1, [1.1, 1.2], [1.1.1, 1.1.2, 1.2.1, 1.2.2] ), 通过读数据库, 显示不同用户的权限; ...原创 2018-04-11 21:51:52 · 491 阅读 · 0 评论 -
java设计模式3--建造者模式
需求: 现有某种产品P,它有很多子系列产品P1,P2,P3.....,每个子产品都有不同的操作生产工序 怎么获取到所需的子产品呢? -- new P1(), new P2(), new P3()....... ? --使用工厂方法:一个产品对应一个子工厂,再来一个调度者(String name){if "p1" -->newF1().getP1().... ...原创 2018-02-25 17:12:39 · 340 阅读 · 0 评论 -
java 设计模式2--单例模式6种
单例模式--作用:节省不必要的内存开销,若程序从头到尾仅需一个保存相关状态的对象实例 就不必每次都创建新的对象!(于是在内里面封装一个方法专门来管理此对象 使其成为单例的类)单例模式--弊病:1,在多个虚拟机和分布技术的系统中,应该避免使用存在状态的单例模式,因为...原创 2018-02-24 19:40:29 · 374 阅读 · 0 评论 -
java 设计模式1--工厂模式3种
why 工厂模式?作用:通过一个工厂, 集中管理多个相近的类(拥有共同的父类)当要获得多个类的实例的时候, 可以两三行代码就搞定, 这就是简单工厂模式的出发点!而为了满足 '开闭原则' , 进一步的提高代码扩展性, 便有了工厂方法模式+抽象工厂模式!一: xmind脑图解析: 类与类的关系二: java 代码详情 第一种:简单工厂模式//测试:验证结果pu...原创 2018-02-23 16:53:14 · 472 阅读 · 0 评论 -
java设计模式6--桥梁模式
1,定义 :桥梁模式:将抽象部分与它的实现部分分离,使它们都可以独立地变化。(这里的抽象部分和实现部分是指:对象之间的组合关系,共同完成(实现)抽象部分的功能)【实现部分、抽象部分: 提供的接口可以完全不一样;而且实现部分内部、抽象部分: 内部的接口也完全可以不一样;但是实现部分要提供类似的功能才行】2, 作用 :系统设计中,总是充满了各种变数,面对这样那样的变动,只能去不停的修改、设计、测试...原创 2018-02-28 23:41:14 · 441 阅读 · 0 评论 -
java设计模式5--适配器模式
适配器模式:用武之地-->将一个类的接口转换成客户希望的另外一个接口。Adapter 模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作【补充:适配器模式是为了在面向接口编程中更好的复用。如果你的系统中没有使用到面向接口编程,没有使用到多态,就不会使用到适配器模式。】配器模式分类: 类器模式, 对象适配器模式;区别:类器模式通过继承完成适配任务,对象适配器通过组合来完成(由于在 ...原创 2018-02-27 16:42:12 · 370 阅读 · 0 评论 -
java基础篇--java语法体系
语法(类:属性,方法) 类:属性 关键字、 标志符( 命名规则:类名大写,包名小写,变量名+方法名:驼峰) 变量、常量、数组 变量:类型 数值类型的取值范围--二、八、十六进制 正数: 二转十(8421法则) 二转八(三位一组,求十进制数) 二转十六(四位一组,求十进制数,ABCDEF) 负数:反码,补码(+1...原创 2018-06-14 12:41:48 · 428 阅读 · 0 评论