java
文章平均质量分 52
majinbuu鲸落
Nobody knows me better than me!
展开
-
java线程池
线程池原创 2022-11-27 00:42:55 · 403 阅读 · 1 评论 -
jackson序列化问题
jackson转载 2022-11-26 23:56:42 · 177 阅读 · 0 评论 -
编码相关问题
编码问题原创 2022-11-23 01:17:49 · 164 阅读 · 0 评论 -
mockito
mock工具原创 2022-11-23 01:07:04 · 544 阅读 · 0 评论 -
try-catch
try-catch原创 2022-11-05 10:44:31 · 131 阅读 · 0 评论 -
SkyWalking 8源码(一):Agent字节码增强的实现
skywalking利用javaagent来实现字节码的增强,利用了bytebuddy来实现。下载源码包:1、apm-sniffer包下的apm-agent包中的skywalkingagent类的premain方法为入口:public static void premain(String agentArgs, Instrumentation instrumentation) throws PluginException { ......}(1)agentArgs 是 premain 函数得到的原创 2021-01-18 15:48:21 · 1710 阅读 · 2 评论 -
Docker常见命令以dockerFile的使用
Docker的运行原理图(要全部看懂):一、docker的常见命令:一、镜像命令0、启动docker:systemctl start docker1、查看镜像:docker images [-a/-q]2、下载镜像:docker pull xxx:分层下载(下载不同版本镜像的时候,可以共用共同的部分,节省时间),这也是images的核心:联合文件系统。3、删除镜像,可以通过image的id号进行删除:docker rmi -f xxx(镜像的id号,查看镜像时能看到)二、容器命令0、容原创 2020-10-10 22:24:10 · 195 阅读 · 0 评论 -
通过本地jedis连接远程服务器上的docker redis
之前连接失败,虚拟机防火墙6379端口经过检查已经打开了,还是没有连接成功。反复测试后发现原因:端口映射原因:在启动容器时,如果不配置宿主机器与虚拟机的端口映射,外部程序是无法访问虚拟机的,因为没有端口。1、docker启动redis的步骤:su rootsystemctl start dockerdocker run -d -p 6379:6379 redis 6379端口对应主机的6379端口docker ps 查询到6379进程的原创 2020-10-10 17:28:11 · 385 阅读 · 0 评论 -
springboot+mybatis整合shiro
参考了b站的springboot视频。1、shiro简介它是阿帕奇的java安全框架。包含了三个主要对象:subject(当前用户)、SecurityManager(安全管理)、Realm(数据相关)。Shiro 可以帮助我们完成:认证、授权、加密、会话管理、与 Web 集成、缓存等。其基本功能点如下图所示:shiro详细介绍2、demo结构:3、使用了springboot、mybatis、druid etc,实现登录控制,用户认证、请求授权(本文没有实现授权)等。4、首先搭建环境:j原创 2020-09-24 10:25:06 · 327 阅读 · 0 评论 -
springboot小demo(登录功能实现)
此项目主要用到了springboot、mybatis等。项目结构:1、实体类package com.example.spbdemo01.Pojo;public class User { private String name; private String password; public User(String name, String password) { this.name = name; this.password = pass原创 2020-09-21 22:35:18 · 619 阅读 · 0 评论 -
SSM整合的相关配置
首先明确项目的大体流程:需求分析->设计数据库->业务->前端页面。本项目利用SSM实现图书馆的图书借阅,包含增删改查。项目文件结构总图:........…....….1、设计数据库使用命令行操作mysql,先建立一个简单的数据库ssm,并插入表单library:其字段等信息创建好后,插入几组数据:2、开始配置项目环境首先,创建一个普通的maven项目。在pom.xml中,配置基本的依赖(导入依赖,包括:junit/数据库驱动/连接池/se原创 2020-09-07 15:04:57 · 186 阅读 · 0 评论 -
springmvc 基础配置和原理
1、springmvc原理:springmvc工作流程图一:图二:2、项目结构图:开始学习spring的时候,很好奇为什么明明在项目里找不到相应的index.jsp,但是每回都是自动访问index.jsp;后来经过测试和百度,终于发现了原来在springmvc中默认第一个访问的页面是index.jsp页面,其默认内容为:<html><body><h2>Hello World!</h2></body></html>原创 2020-09-04 21:39:42 · 229 阅读 · 0 评论 -
Spring IOC AOP练习
今天利用spring mybatis,对账户进行CRUD操作,加深对spring IOC AOP以及与mybatis的整合。1、利用命令行创建一个简单的sheet:mysql–>majinbuu1—>accountlist:2、(里面的中文注释只是方便查看,实际文件里面不能有中文注释)<!--实体对象中的属性可以直接取出来,即下面的name,money--> <select id="addUser" parameterType="com.pht.POJO.Ac原创 2020-08-29 09:44:21 · 283 阅读 · 1 评论 -
spring IOC
1、引入在三层架构:表现层、业务层、持久层之间的代码的耦合性:以模拟游戏保存为例:(1)持久层(接口与接口实现类):package com.pht.Dao;/** * 持久层接口 */public interface gameDao { void saveGame();}package com.pht.Dao;/** * 持久层接口实现类 */public class gameDaoimp implements gameDao { public void sa原创 2020-08-20 22:43:48 · 136 阅读 · 0 评论 -
学习mybatis(二)------CRUD
上一节写了使用mybatis返回整个表单,本节在上一节的基础上实现增删改查。由于mybatis的便捷性,添加sql语句只需要修改的地方有三个:1、接口2、接口xml文件3、test文件1、查询用户(1)在接口中添加方法getIdData:public interface Dao { List<Myda> getData(); //获得表单 Myda getIdData(int id); //根据用户id查询}(2)接口xml文件中添加sql语句:其中para原创 2020-08-16 13:12:27 · 122 阅读 · 0 评论 -
学习mybatis(一)
1、原创 2020-08-15 23:27:27 · 197 阅读 · 0 评论 -
java TCP Socket实现聊天室功能
1、用户 --------> 服务器用户与服务器间交互,而不是用户与用户间交互,也可以理解成只有自己一个人的聊天室,此时不用加入多线程。过程:client A向server发送数据B,server接收此数据B,并将数据B返回发送至A,A再接收server返回回来的数据。(1)serverimport java.io.DataInputStream;import java.io.DataOutputStream;import java.io.IOException;import java.原创 2020-08-12 22:34:43 · 661 阅读 · 0 评论 -
java 网络编程(1)
1、IP地址相关:ip:主机的标识package com.net.java;import java.net.InetAddress;import java.net.UnknownHostException;/** * 类InetAdress封装了java关于IP的相关内容 * 此类表示Internet协议(IP)地址。 * @author majinbuu * */public class IP_test { public static void main(String[] a原创 2020-08-11 11:40:18 · 136 阅读 · 0 评论 -
ORM框架
**ORM(object relationship mapping)**ORM框架1、储存数据库记录数据库—数据模型:可将数据库查询等返回的数据保存到对象模型如:Object[]、List<>、map<>、javabean等中。在这里插入代码片2、手写简单的ROM框架ORM(Object/Relational Mapping)中文翻译为对象/关系型数据映射,它也可以理解为一种数据持久化技术,其主要是把对象模型,例如JavaBean对象和关系型数据库的表建立对应关系,原创 2020-08-07 12:45:31 · 197 阅读 · 0 评论 -
JDBC连接mysql 、连接池
首先下载JDBC的jar包,在eclipse中添加此路径。1、耗时较多:连接对象内部其实包含了Socket对象,是一个远程连接,比较耗时,这也是Connection对象管理的一个要点。实际开发中会用到连接池来提高效率。package jdbc_test;import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;public class JDBC_load { public原创 2020-08-06 10:19:29 · 206 阅读 · 0 评论 -
java 线程安全问题
1、例子1同一个账户,多个用户取款。来模拟线程不安全。账户一共100元,甲取走10元,乙取走50元。package threademo;/** * 通过账户取钱的例子,说明线程不安全 * @author majinbuu * */public class Unsafe{ public static void main(String[] args) { Account account=new Account(100,"pht"); //同一个账户,两个地方取钱 ATM atm=n原创 2020-08-01 18:55:45 · 147 阅读 · 0 评论 -
java 多线程(1)
这个文章可以看看1、线程的实现方法一:继承Thread类package threademo;/** * 创建线程的方式一 继承Thread: * 1、继承Thread类,重写run()方法 * 2、创建子类对象,调用start()开启线程 * @author majinbuu * *输出的结果是CPU的状态(不同线程的执行序列)决定的,不受人的控制 */public class Thread0 extends Thread{ //重写run方法作为线程入口点 @Overr原创 2020-07-30 18:12:01 · 248 阅读 · 0 评论 -
java IO
1、文件操作import java.io.File; //根据提示自动导入包import java.io.IOException;public class Filedemo { public static void main(String[] args) throws IOException{ //绝对路径 String path="C:\\Users\\Administrator.WIN-BO27P1H3V5P\\Desktop\\test\\01.txt"; String pa原创 2020-07-29 15:33:03 · 96 阅读 · 0 评论 -
java LinkedList Hashmap简化版
1、eclipse:自动添加get set 方法,构造器等【alt+shift+s (或者 右击鼠标 source)】设置断点并调试,右击鼠标选择debug as,进入调试2、linked-list:add(尾插)toString遍历越界检查(负数,超出)get set(小于一半,从头节点查找;大于一半,从尾节点开始查找)removeinsert泛型不加泛型的版本://节点类class Node{ Node prev; Node next; Object element;原创 2020-07-23 12:39:57 · 130 阅读 · 0 评论 -
java 简易版的ArrayList
简化实现了ArrayList的底层结构,提供构造,增删改查,越界判断等功能没有加泛型的版本:/** * 自己实现一个ArrayList,复习底层结构 * @author majinbuu * */public class List0 { //通配符E表示泛型 private int SIZE; //size的默认初始值是0,一开始没放东西进去 private Object[] element; //ArrayList的元素都为Object类型 private static final i原创 2020-07-22 00:28:16 · 184 阅读 · 0 评论