自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(42)
  • 收藏
  • 关注

原创 模型训练系列:1、用清华ChatGLM-6B模型部署自己的本地AI助手

首先需要搞一台GPU较强的机器,推荐先租一台腾讯云、阿里云等AI训练的机器,T4显卡就行,一般价格是按量付费几毛钱一个小时。最近清华大学开源的ChatGLM-6B语言模型在国际上大出风头,仅仅62亿参数的小模型,能力却很强。#运行ChatGLM6B 的web版聊天程序,即可访问http://主机IP:8080进行聊天。本文来自知识星球:ConnectGPT ,一个致力于探索AI、语言模型的应用技术的小圈子。#克隆ChatGLM-6B的int4量化模型。#安装所需的python依赖库。

2023-05-12 10:45:24 3512

原创 函数式编程概述

在Java中如何像JS一样把代码片段/函数当做参数来传递?看Java 8的函数式编程

2022-11-22 16:05:33 398

原创 Java函数式编程入门之Function<T,R>接口

Java可以像JS那样把函数作为参数传递吗?看看Java 8提供的Function系列接口吧!

2022-09-24 17:37:31 6003

原创 全网第一篇:Vue 3.x + Element Plus 动态数据的分组checkbox全选实现方案(含Vue 2.x和Element UI写法)

全网第一篇!vue3.x下Element Plus组件库基于动态数据的checkbox全选,不是那种硬编码的简单示例数据哦!熬夜写的,你值得拥有。vue 2.x和Element写法也有介绍。

2022-07-09 11:55:25 1088

原创 Web项目Spring 5.x使用log4j 2

Spring从4.x版开始,日志方面不再使用陈旧的log4j 1,改为支持log4j 2版,网上的在web.xml中配置Log4jConfigListener监听器的方法都是老版,目前已经不适用。在Spring 4.x+版本中使用log4j 2的步骤为:1.导入依赖(Maven)<dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-api

2021-10-20 16:31:48 554

原创 字符集与编码系列:Unicode字符集与Java char类型

前文介绍了Unicode基本知识,没看过的去看一下,传送门:字符集与编码系列:Unicode字符集_liudun_cool的博客-CSDN博客常用汉字在Java中的用法对于一些常用汉字,一般都在Unicode的BMP平面,也就是2个字节足够表示。比如,我打开一个Unicode CJK码表,可以看到第一个汉字就是编码为4E00的 ‘一’,第二个是编码为4E01的 ‘丁’。下图中的CJKV的含义: C = 中国(大陆、香港、台湾) J = 日本 K ...

2021-10-13 15:54:45 570

原创 字符集与编码系列:Unicode字符集

基本概念1.字符集:要想在计算机中显示文字,必须把文字都收集起来放在一个表中,这个表叫字符集(Charset)。2.码表:字符集中的每个文字,都分配一个数字码,这叫码表(Code chart)。比如中文 ‘霸’字,在码表中对应的码是38712(十进制),或者9738(十六进制)。3.编码方式:有了码表,就需要确定哪些文字用几个字节表示,以及如果有多个字节代表一个字,字节的读取顺序,这些就是字符编码方式(Encoding)。虽然为了严谨起见,上面我把字符集和码表分开说明,但实际上很多字符集也给

2021-10-13 14:53:44 6619

原创 Spring Boot 2.5打包访问JSP页面

1.项目结构:2.视图解析器:3.控制器:4.pom.xml <packaging>war</packaging> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starte

2021-06-23 13:52:35 366

原创 讨厌俄罗斯套娃?用Java 8的Optional<T>类和函数式编程语法吧!

代码中经常要写非空判断,甚至俄罗斯套娃?来来来,我们一起做一个优雅的人。

2021-05-08 15:11:55 392 1

原创 从@SBA注解的三大BUFF,理解Spring Boot自动配置の原理

用SpringBoot(简称SB)来搭建项目香不香?毫无疑问是香的!这都是因为本文的男猪脚@SBA注解,全称@SpringBootApplication注解。没错,就是那个你每次创建SB项目时,启动类上都有的那个。对于Spring来说,一切都是IoC容器中的Bean。@SBA注解为什么这么厉害,启动类上只要有它就搞定了?因为他身上叠加了三大BuFF,能完成所有IoC容器初始化的工作。看↓↓↓图。一个网红背后有很多打工人在奉献。@SBA注解虽然光芒万丈,但光靠他自己是不行的。在开发工具中按..

2021-01-06 10:34:29 308

原创 家庭双路由器桥接实现方式(主TPLink + 副Fast)

问题背景:主路由器在客厅,但主卧距客厅较远且隔几面墙,因此WiFi信号弱。由于此前升级过路由器,闲置了一个品牌为Fast迅捷的老路由器。考虑能否把老路由器放在主卧,桥接客厅主路由器的信号,在卧室放大。因此,搭配方案是:TPLink路由器在客厅作为主路由器,老的Fast路由器在主卧作为副路由器。目录主路由器配置支持副路由器连接到主路由器副路由器配置主路由器配置支持主路由器我现在固定IP,反正是自家的局域网内嘛,随便设置,不冲突就行。LAN口IP设置为自动即可。这应该是是默认

2020-10-02 11:35:39 2950 1

原创 Spring Boot 2自动配置原理

用过Spring Boot并且长得帅的人都知道,应用的启动类上,只要有@SpringBootApplication注解,就是一个Spring Boot的应用,就会按自动配置所需的Bean。怎么做到的呢?唯一的线索就是@SpringBootApplication注解本身了。Ctrl + 单击点开这个注解,会看到它身上附带了3个其它注解(@Target等元注解除外),其中一个@EnableAutoConfiguration和我们要研究的自动配置有关,它打开了整个项目自动配置的开关。这个注解怎么做到的

2020-08-24 11:48:27 390

原创 SpringMVC框架 + 客户端 jQuery 跨域请求解决方案之JSONP

做Web开发必然会遇到的一个问题就是跨域,被浏览器的同源策略给拦截,请求根本发不出去。由于用的Spring版本时3.2.13,@CrossOrigin注解还不支持,而且在Response中加Access-Control-Allow-Origin之类Header的方式也不太有效,我就不说了,老夫这里只说的JSONP方式解决跨域问题。假设用了fastjson库,那么Controller中作如下处理:if(null != user){//登录成功 //放入session session.setAtt

2020-08-06 21:16:30 303

原创 游戏服务器JVM Full GC长时间暂停导致数万玩家掉线问题诊断

最近收到一个游戏服务器崩溃,导致玩家掉线的问题,让我看看,并发给我一个JMC的飞行记录和堆内存的hprof 堆转文件。我分别用JDK中的jmc和jvisualvm打开进行分(瞎J)析(8看)。先看看基本信息。 基本信息: 生成的日期: Tue Jul 28 19:51:09 CST 2020 文件: E:\Downloads\java_pid11875\java_pid11875.hprof.4 文件大小: 13,721.7 MB 字节总数: 12,583,316,2...

2020-07-30 13:28:15 1759 5

原创 Java Web项目设置默认首页指向Servlet、Controller

本例中,把实际为控制器handler的登录页面地址,设置为默认首页,按如下步骤。1.在Controller中的URL为/user/login在web.xml中设置默认首页指向Servlet或控制器,有一个限制,不能有后缀,否则被当做页面。控制器代码如下:@Controller@RequestMapping("/user")public class UserController { @RequestMapping("/login") public String login() {

2020-06-04 11:33:26 3483 1

原创 IDEA build委托到Maven build -- 解决代码没有编译错误运行却报错: "程序包xxx不存在"的问题

首先吐槽一下Intellij IDEA的一个坑。就是IDEA中的maven项目下,可能出现这种情况:代码编辑器中无编译错误,通过maven 的clean 、compile、package进行各种操作也都没问题,但是单击绿色箭头运行(默认会先执行IDE本身的Build操作)却报:程序包xxx找不到。问题如下:这个问题让人很头疼。经过摸索才发现,原来IDEA的Build(编译)操作和Maven的Build是分开的,并不是一回事。在出现这种问题的情况下,我甚至怀疑编辑器中的实时语法编译与Build时的cl

2020-05-13 21:33:49 14474 33

原创 kali系统Web渗透之一:收集信息

工欲善其事,必先利其器。为了高效地渗透,安装kali系统无疑是一个好主意。看看系统菜单就知道附带了多少专业工具了。渗透工作一般都有一个前提条件,就是要有全面的目标主机/站点信息,越全面越好,最好包含站长本人祖宗十九代和七大姑八大姨的信息。言归正传,接下来先开始收集信息。1.收集域名持有人/管理员的信息最准确的途径当然是去域名注册商那里查。可在终端执行whois命令查询,如果不够详细...

2020-05-04 01:41:33 3916 1

原创 Wireshark抓包软件查看网线直连设备的IP地址

我的树莓派3B没有屏幕、没有键盘,以前配置的WIFI现在也变了,为了能连接上去,用一根双绞线和我的笔记本电脑直连。那么问题来了,如何从笔记本上查看树莓派的IP地址,以便我用XShell连接上去呢?我灵(ming)机(si)一(ku)动(xiang),想起来网络底层有个叫ARP的协议,可以利用! 什么是ARP协议呢?就是局域网内的计算机在发送数据包之前,会和网内小伙...

2019-07-23 09:14:09 18957 2

原创 VMWare虚拟机中CentOS-7.0系统搭建Gitlab服务器(图文)

文本步骤也适合物理机上安装的CentOS中搭建,略去VMWare相关步骤即可。本文的CentOS版本下载,传送门:官方CentOS 7.0 ISO文件下载,注意选择x86_64.DVD版本。1.检查和配置系统环境 1.1.确保宿主机windows【服务】中VMware相关的服务都启动了; 1.2.确保宿主机windows【网络适配器】中的VMnet-1、VMnet-8...

2019-07-16 11:31:59 2174

原创 Java中基于OpenCV的人脸检测

1.下载并安装OpenCV 根据你的运行平台选择OS和版本,我是windows-x64,因此下载: https://sourceforge.net/projects/opencvlibrary/files/opencv-win/3.4.0/opencv-3.4.0-vc14_vc15.exe/download 下载后,安装到文件夹中,会看到buil...

2019-06-12 18:20:42 1089 1

原创 JDK中的开发工具简介

位于%JAVA_HOME%/bin目录下的开发工具种类繁多,如果不多多了解,怎么能算资深Java程序员呢?appletviewer.exe HTML中的Applet小程序查看器 extcheck.exe 检测目标 jar 文件与当前安装方式扩展 jar 文件间的版本冲突 idlj.exe 对idl通用接口文件进行解析,生成所需的java文件 jabswitch.e...

2019-01-18 21:35:02 1215

原创 Java对象结构与锁实现原理及MarkWord详解

阅读本博客前,需要了解基本的同步概念,传送门:http://note.youdao.com/noteshare?id=7f10475c6bb01658b955eaca531c0be6&amp;sub=590214A72B3C455FAB266C4FB7A32698我们都知道,Java对象存储在堆(Heap)内存。那么一个Java对象到底包含什么呢?概括起来分为对象头、对象体和对齐字节。如下图所...

2019-01-11 09:20:01 4929 3

翻译 同步和对象锁-Synchronization and Object Locking

    Java语言的一个主要强项就是对多线程程序的内置支持。一个对象在多个线程之间共享读取时可以通过加锁来实现有序同步的访问。Java提供原语来指明关键代码区域,原语作用于共享对象,并保证同一时刻只有一个线程能执行这些代码。第一个进入代码区域的线程锁定共享对象,当与这个共享对象相关的第二个线程要进入相同的代码区域时,它只能等待,直到第一个线程解锁这个共享对象。    在Java官方的HotSp...

2019-01-07 23:32:07 386

原创 SpringBoot启动Tomcat报错LibraryNotFoundError,Can't load library:tcnative-1.dll

环境:Windows10-64位,SpringCloud是最新的Greenwich.RC2,SpringBoot是2.1.1,内嵌Tomcat 9.0.13,最近搭建的SpringCloud项目,把日志级别设为Debug后,从控制台看到启动时tomcat报无法找到JNI动态链接库的错误,完整的异常栈信息如下:org.apache.tomcat.jni.LibraryNotFoundErr...

2018-12-31 11:44:21 16681 4

原创 IDEA下SpringBoot项目热部署配置(基于最新的SpringBoot2.0.6)

关于SpringBoot最权威(没有之一)的文档,当然是来自官方手册:https://docs.spring.io/spring-boot/docs/2.0.5.RELEASE/reference/htmlsingle/本文要介绍的项目热部署,我分为IDEA配置和SpringBoot配置。1、IDEA配置1.1.开启项目自动编译1.2.开启项目运行时编译器自动编译2...

2018-10-18 10:04:10 2087 1

原创 JDK版本江湖

Java江湖版本众多。概括起来就是,自从当年Oracle把Java SE的代码开源到OpenJDK后,这份代码用版本控制系统Mercurial(不是Git)托管着,整个Java社区和各大公司都向该仓库提交JDK的bug修复和补丁,所有的JDK版本都基于这一份代码。但是由于build(编译、配置、打包)的时机和提供的补丁不同,所以不同的JDK少数细节上还是有差异。...

2018-09-11 21:47:00 318

原创 IDEA下用SpringBoot搭建SSM框架项目,支持JSP页面(图文步骤)

本示例从创建到启动运行完整地演示了搭建SpringBoot和SSM框架组合的项目,并且采用了JSP作为页面模板(SpringBoot官方不推荐JSP作为页面,认为性能较低)。以一个用户登录功能为例,以下是具体步骤:1.用IDEA创建项目,选择Spring Initializr创建一个Spring Boot类型的项目2.填写项目信息3.勾选项目依赖。先选中最左边的Web,表示这是...

2018-08-17 17:36:38 18214 7

原创 以纯命令行方式,将项目代码托管到GitLab服务器

0.前提条件: 0.1.按我的博客VMware中虚拟机CentOS-7搭建Gitlab服务器或虚拟机中CentOS 6.8 Linux搭建GitLab服务器--(安装篇) 安装GitLab服务器 0.2.按SSM教材391页-395页,先初始化root账号的密码,并用root账号登录GitLab页面创建项目、成员账号(Developer角色)。root账号的默认邮箱地址为:...

2018-07-21 18:35:02 1363 1

原创 IDEA快捷键大全(翻译自官方手册)

【编辑】Ctrl + Space               基本代码补全 (类名、方法名、变量名)    Ctrl + Shift + Space    智能代码补全 (根据预期的类型过滤方法、变量列表)    Ctrl + Shift + Enter     根据代码提示完成本行代码,以分号结束Ctrl + P                       显示参数信息(光标要在括号内)...

2018-07-20 09:24:20 981

原创 IntelliJ IDEA入门设置指南

IDEA入门配置:1.设置JDK    -&gt; File菜单    -&gt; Project Structure    -&gt; Project    -&gt; Project SDK下拉框    -&gt; 如果下拉框显示红色的'No SDK'说明还没有设置JDK    -&gt; New按钮 -&gt; JDK    -&gt; 选择你的JDK安装目录    -&gt...

2018-07-19 10:18:52 12628 5

原创 虚拟机中CentOS 6.8 Linux搭建GitLab服务器--(安装篇)

环境说明:物理机安装Windows10系统,VMWare 12 workstation pro,虚拟机为CentOS 6.8,GitLab 8.10.2-ce-el6.虚拟机中的Linux与windows通过自定义NAT(VMnet8虚拟网卡)方式连接,相互可以ping通。搭建步骤如下。1.获取GitLab安装包。由于国外官网龟速,因此采用国内清华大学的镜像服务器下载,执行shell命令:...

2018-07-18 01:14:20 3268 2

原创 Python机器学习(一)数据分析工具Pandas

#导入一个函数库(类库),为了代码使用方便,可以用as起个短的别名#导入一个本地操作系统有关的类库import os#导入数据分析类库pandasimport pandas as pd#导入HTTP请求库import requests as req#定义一个工作目录PATH = 'D:\python-code\libraries-test\\'#用HTTP库发起一个GET请求,

2017-12-07 23:31:46 973

原创 Python语言入门(八)动态语言中的类与对象初探

#在Python里面,也可以实现面向对象,通过class关键字实现类#以下的pass关键字是Python语言特殊的占位符,如果某些代码暂时还没有#办法实现,是空的,用这个关键字占位,就不会导致语法错误#如下有一个空的英雄类:class Hero(object): pass#Python语言创建一个类的实例非常简洁,连new关键字都没有,直接'类名()'#如下创建了一个英雄类的实

2017-12-02 01:32:28 375

原创 Python语言入门(七)list集合切片体验Python语法简洁

#定义了一个listnameList = ['accp','8.0','czkt','soft','engineer','train']#经常会有取出来某一个范围的元素来使用,for循环显得繁琐#在Python里可以用切片语法,比如取出0,1,2(不含3)索引的元素print(nameList[0:3])#输出: ['accp', '8.0', 'czkt']#或者从0开始可以简化成na

2017-12-01 00:28:11 580

原创 Python语言入门(六)关键字参数与命名关键字参数

#关键字参数表示可以接收类似字典的key-value参数形式 def kwParamsFunc(name,age,**kwp): print(name,age) if 'sex' in kwp: print(kwp['sex'])#调用kwParamsFunc('wn', 18, sex='女', phone='18684638281')#如果函数

2017-11-28 22:57:29 2506

原创 Python语言入门(五)函数与默认参数、可变参数

# -*- coding: utf-8 -*-#在Python中,代码功能可以函数为单位进行封装。#定义一个函数需要用到def关键字,但因为python是动态类型的语言,#因此函数不需要声明返回值类型。以下是一个普通函数的声明和调用。def sayHello(yourName): if yourName != None: print('你好!%s' % your

2017-11-28 00:13:32 256

原创 Python语言入门(四)字典与Set集合用法体验

#让我们来总结一下,Python语言#用{}大括号定义一个字典(Map)#用[]中括号定义一个集合(list)#用()小括号定义一个元组(tuple)#以下定义一个字典(Map),用冒号表示key-value键值对d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}#中括号表示根据key取值print( d['Michael'] );#输出:95

2017-11-26 23:13:58 286

原创 Python语言入门(三)简洁易用的数组与List

#Python中没有专门的数组(当然,引入外部模块可以实现),而是用更强大的list代替了#为什么说不是list呢?因为虽然它很像数组,但是又提供了很多的操作方法,已经超越了#一般我们认为的数组概念,非要说有数组那就算加强版吧!#以类似java、C#数组的风格定义了一个listnames = ['IT职业教育','林中之城','科泰软件学院'];print(names[2]);#下标从

2017-11-25 22:56:03 270

原创 Python语言入门(二)流程控制语法

#声明变量身高和体重,计算BMI指数height = 1.75#身高weight = 80.5#体重bmi = weight / (height*height);#Python的语法简洁,其中一个特点就是没有大括号{}的语法#变量的作用域以制表符缩进为准,不同的缩进级别代表不同的作用域#前一行的冒号和后面的代码缩进就是大括号的效果,所以代码格式必须严谨!if bmi < 18.5:

2017-11-23 23:32:33 768

原创 Python语言入门(一)字符串操作

#!/usr/bin/env python3# -*- coding: utf-8 -*-#第一行注释是为了告诉Linux/OS X系统,这是一个Python可执行程序,Windows系统会忽略这个注释;#Python声明变量,不需要写数据类型platform = '郴州科泰'#输出'平台名称是=郴州科泰 软件学院!'print("平台名称是=",platform,"软件学院!");

2017-11-22 22:50:04 405

空空如也

空空如也

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

TA关注的人

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