- 博客(28)
- 资源 (1)
- 问答 (4)
- 收藏
- 关注
原创 Java的克隆原理
今天的记录是java的克隆机制以及深克隆和浅克隆,话不多说,线上代码:public static class Boss{ private int number; public int getNumber() { return number; } public void setNumber(int num...
2018-02-28 11:21:47
523
原创 AspectJ的使用方法
最近在复习Spring框架的内容,记录一下之前我所用到的工具方法以及一些基本原理。AspectJ是Spring aop编程的一个静态面向切面编程框架,该框架使用起来非常简单,相当于帮助你把Spring aop编程给封装好了,直接在maven那里导入然后配置一下属性即可轻松实现面向对象编程。先上示例代码:@Aspect@Componentpublic class Transact...
2018-02-27 19:34:37
1491
原创 如何理解String.intern()方法
先上以下代码:public class Main { public static void main(String[] args) throws Exception{ String a="ab"; String b=new String("ab"); String c="a"+"b"; String d="a"; ...
2018-02-27 19:15:06
254
原创 小记: JDBC中connection.isClosed 和 connection.isValid的区别
isClosed是判断一个connection是否被关闭,而是否被关闭是停留在java程序层的判断,不会去检测是否与数据库连通。意思是,你在程序运行过程中,即使把数据库关了,对于一个之前未被关闭的connection来说,调用connection.isClosed依然为false。但是如果用已经不能使用的connection访问数据库导致一次异常之后,connection则会自动设置为true。而i
2017-12-08 10:35:10
14130
1
原创 Spring aop编程ProxyFactory切入点运行原理。
序:最近在搞Spring MVC编程,对Spring,做了个小实验,拿出来记录一下。先上代码:public class LoggerExecute implements MethodInterceptor { @Override public Object invoke(MethodInvocation methodInvocation) throws Throwable {
2017-11-29 16:53:55
452
原创 线程安全hibernate的session管理类实现
序:最近在学hibernate框架,按照threadlocal的思维来实现了一个hibernate的session管理类,因为一本书上的资料,但是发现他的写法不是线程安全的,所以这里我实现了一个线程安全的session管理类,顺便复习一下锁的知识。代码:import org.hibernate.HibernateException;import org.hibernate.Session;imp
2017-11-11 11:04:31
651
原创 ubuntu17.10解决fcitx输入法不能在idea或者其他java软件环境下使用中文的问题
最近更新了ubuntu17.10,更到了gnome桌面,其实使用体验上我感觉unity更好一点,可能也是因为我不习惯吧,不过gnome感觉现在bug也是挺多的,我今天就要讲一个关于如何修复更新gnome之后导致fcitx输入法不能在idea或者是java软件环境中使用中文的问题。其实这个问题并不仅仅只是17.10才有,很多时候版本更新都会产生这个问题。不过今天我就讲讲我所遇到的。我在更新了17.10
2017-11-08 23:39:19
4201
原创 ubuntu 安装最新系列的 Nvidia GTX 独立显卡
序:暑假放假以后,接到了一个小外包,所以一直都在忙,顺便也学习前端,所以一直没有更博客。现在外包快干完了,等我做完以后出一篇外包感想的。今天难得有空,所以写一写暑假时候遇到的一个问题,因为我换了一台显卡为GTX 1050Ti 的电脑,默认的ubuntu apt里面的显卡驱动378并不能支持这个显卡,而支持1050Ti的最旧的版本要去到381,默认ubuntu里面是没有381的。这里讲讲我的安装历程。
2017-09-20 20:01:36
697
原创 商旅问题的分支限界法 java语言实现
最近作业实现了一个java语言的商旅问题的分支限界法,因为快考试了也不能写太多,这里直接提供一个实现的代码算了:package com.company.arithmetic;import java.util.*;/** * Created by v on 17-6-7. */public class TSP { private static class Node{ //
2017-06-08 19:17:48
1627
原创 深入了解ThreadLocal
最近阅读了importNew的一篇关于ThreadLocal的文章: http://www.importnew.com/17849.html 因为之前自己也没怎么用过,所以一直也没搞懂,后来查了好多资料以后,我终于能理解里面的实现原理了。 在这里我给这篇文章的一些内容做个注解吧,重复的地方我也不说了。ThreadLocal的用法 ThreadLocal的作用是声明出一些变量,T就相当
2017-06-01 23:26:38
526
原创 基于jsp,servlet的简单图书馆管理软件
最近用jsp,servlet做了一个简单的图书馆管理软件,感觉自己对这种混合语言的编程处理得还是很不好,很多东西自己做得都很差,代码的重用性,mvc模型,目录结构等等。毕竟是自己第一次做web的小开发,差点就差点吧,毕竟我的java基本基本语法编程也是这么慢慢来的。下次不要再犯那么多错误就好,效果图:git ssh地址:git@git.oschina.net:FacelessVoidFV/libra
2017-05-24 23:09:19
576
原创 mysql主从复制
接上一篇博文 http://blog.youkuaiyun.com/he729164860/article/details/72328067 在完成了mysql远程连接的开放以后,我们来看看怎么实现mysql的主从复制。一、服务器环境 主从服务器的环境都为ubuntu 16.04。 mysql的版本为5.7 必须要保证两个mysql的版本号一致。二、对主服务器的修改 首先要开启主服务
2017-05-17 23:30:22
216
原创 实现mysql远程访问
最近两天在搞mysql的主从复制,磕磕碰碰查找了很多资料与方法,终于实现了主从复制,首先我先记录一下怎么实现mysql的远程访问。首先交代一下环境我的环境:我用的云服务器系统为ubuntu 16.04。mysql的版本均为5.7。然后我的本地系统也为ubuntu 17.04。首先要让云服务器mysql的相关端口放开。一般的云服务器都会有安全组,你需要在那里配置,把3306(mysql的默认端口)端口
2017-05-16 19:04:02
329
原创 ssh管理多个私钥
我的上一篇博文中有一个ssh管理多个私钥的方法,因为感觉比较重要,所以我单独写成一篇文章方便以后查阅。之前我在连接云服务器的时候,收到git的私钥的影响,一直连接不上,走了许多弯路,上网找了好多资料,在这里整理了一个行之有效的方法。首先说说环境,这里是基于linux(ubuntu)的多个私钥管理方法。我们假设我们现在有一台云服务器,需要用ssh连接云服务器。同时我们还要连接github的服务器,也需
2017-05-14 20:32:19
2628
原创 如何通过ssh连接上云服务器(以腾讯云为例)
最近又重新买多了一个腾讯云的服务器,想把原来的服务器撤了,结果配置ssh的时候被腾讯云实实在在地坑了一把。于是想写个文章分享一下怎么用ssh来连接上云服务器。先交代一下本地环境和服务器环境:服务器用的是ubuntu 16.04 LST。本地用的系统是ubuntu 17.04(就想尝尝新,其实在这方面和16.04感觉不出有什么差别)。个人习惯,拿到新的云服务器首先是先改用户名,用户主目录什么的。(具体
2017-05-12 08:59:01
8754
原创 cookie的应用
最近在研究怎么搞一个安全的登录系统,去查找了很多不同的网站和资料,之前想过一些手段比如把ip存入到session里面,只要核对ip就进行放行等等,都感觉是有安全漏洞的。 于是我拿chrome对京东的登录系统进行分析,发现原来京东的登录系统是使用cookie达到简化登录手续的目的的。cookie是一种储存在客户端的的小文件,可以进行写入和读取。我想其大概思路就是:对第一次登录进行验证,验证完以后对你
2017-05-07 13:16:22
360
原创 ubuntu中的权限管理系统原理
今天在ubuntu里面做了几个有趣的权限管理实验,发现原来ubuntu的权限系统是嵌套式的。 比如在你的/home/user/下面有文件夹.ssh。然后你觉得.ssh文件夹里面的文件非常重要,而且一般也不需要改,只需要读取就行了。于是你输入了命令$ sudo chown root:user ~/.ssh$ sudo chmod 751 ~/.ssh 现在你觉得这时候.ssh文件夹应该
2017-03-30 20:29:33
423
原创 解决ubuntu linux下更新idea导致idea字体改变的问题
今天早上一早传来了一个idea的更新,没想太多直接就去官网下了个2017.1版的idea给电脑装上了,然而却发现遇到了一个很尴尬的问题: 仔细想想,应该不是系统的问题,因为大家用的都是同一款字体,于是我就去找idea的字体设置文件,问了一下百度找不到好的答案。 于是我就自己去找,最后我发现在idea文件夹内直接搜索fonts可以搜索到一个文件夹。对比一下:
2017-03-23 21:33:48
4662
原创 用request获取form标签乱码问题
最近被一个form标签里面的乱码问题搞得死去活来,干了好多蠢事,最终发现其实解决问题的方法好简单。。。 先讲讲本人的环境,我用的是tomcat9.0.0作为服务器,以chrom浏览器作为窗口来运行的程序。一开始我看书上说解决request编码问题的方法: String value=new String(request.getParameter("...").getBytes("ISO-8
2017-03-22 21:09:18
781
原创 jdbc连接到mysql
搞了一天时间,终于在java中使用jdbc连接上mysql了,其实和网上的教程差不多,也没啥区别,只是自己犯傻了,结果搞了半天报了一堆错,这次就当作写写日记,记录一下这一天的历程吧。 先介绍一下自己所用的代码:String url="jdbc:mysql://localhost:3306/test"; String name="root"; String
2017-03-01 19:31:32
659
原创 linux16下mysql5.7.17的日志配置
最近开始在学mysql,在学习事物日志的时候配置遇到点困难,上网翻了很多东西,发现很多都是不行的,于是在这里把我自己配置好的文件分享给大家。 首先给大家分享几个可能用到的linux指令: sudo nautilus //linux下获取一个带有root权限文件管理窗口,可以对系统文件进行最高权限的读写systemctl start mysql //linux下开启mysql服务
2017-02-20 21:28:02
758
原创 用不相交集合生成一个迷宫
最近看到不相交集,使用不相交集写了一个生成迷宫算法,其实想法很简单,就来分享一下,首先我们对迷宫中的每个格子进行编号,从0到n,先画一个n*m的格子版,然后删除一些边打通各个格子,使之变成连通,我们把边分成横边和纵边,我们可以通过计算,标记打通一条边会使两个格子变成连通,然后用不想交集合进行标记。最后使得所有边都连通起来即可: 具体操作:先把所有的边编号,放入一个数组内,然后用随机数打乱整个数组,
2016-12-15 09:10:39
738
原创 快速排序算法
在一本书上发现的一种改进版的快速排序算法,自己把它整理出来了。这里通过小数组的时候是用插入排序算法,大数组的时候使用快速排序算法进行对算法的优化。而且是用三数中值分割法取枢纽元保证这个两个数组分得的数学期望大小是相等的。(即取首,末,中三个点的中值作为枢纽元,且在比较过程中把另外两个排好序)用以保证算法效率的稳定性。 我尝试用大量泛型随机整数(随机数范围大小等于数组的大小),进行排序,其排序效率表
2016-12-10 19:06:49
478
原创 NOIP2006 能量项链题解
在Mars星球上,每个Mars人都随身佩带着一串能量项链。在项链上有N颗能量珠。能量珠是一颗有头标记与尾标记的珠子,这些标记对应着某个正整数。并且,对于相邻的两颗珠子,前一颗珠子的尾标记一定等于后一颗珠子的头标记。因为只有这样,通过吸盘(吸盘是Mars人吸收能量的一种器官)的作用,这两颗珠子才能聚合成一颗珠子,同时释放出可以被吸盘吸收的能量。如果前一颗能量珠的头标记为m,尾标记为r,后一颗能量珠的
2016-11-02 23:45:10
2421
原创 矩阵取数游戏JAVA题解
话不多说,先上题目: 帅帅经常跟同学玩一个矩阵取数游戏:对于一个给定的n*m的矩阵,矩阵中的每个元素aij均为非负整数。游戏规则如下:{C}1. 每次取数时须从每行各取走一个元素,共n个。m次后取完矩阵所有元素;{C}2. 每次取走的各个元素只能是该元素所在行的行首或行尾;{C}3. 每次取数都有一个得分值,为每行取数的得分之和,
2016-11-01 23:32:06
852
原创 在git添加远程库的过程中,写错远程仓库地址,如何把远程仓库地址修改回来
本人是一名初学者,若有不当之处敬请指出,非常感谢 相信大家在学习使用git的过程中,会偶尔出现因为git远程仓库的地址过长,导入输入错误,然后又无法修正这种错误的情况,特别是在本地仓库已经有文件的情况下更是无法使用直接的删除重建仓库来解决,因此今天我就来教大家一种简单的方式可以直接修改git中的远程仓库的地址,甚至可以直接使用复制粘贴的方法把地址直接粘贴到git中。 首先,我
2016-10-17 15:13:47
2782
如果用的是SSD硬盘,是否还有必要开启mysql的事务日志
2017-05-17
ubuntu linux下 Idea2017版本更新后字体显示不正常
2017-03-23
request.setAttribute()方法报错
2017-03-20
关于JAVA中Comparable接口的思考
2016-10-19
TA创建的收藏夹 TA关注的收藏夹
TA关注的人