
Java
文章平均质量分 86
javy_codercoder
迷惘于尘世间的一只野生的码农
展开
-
设计模式:说说外观模式(Facade)
最近在学php框架Laravel,发现里面有很多Facade,所以特地去学习了一下,发现原来是某个设计模式。所以写下来做个笔记。例子那么对应到编程之中我们写的某一个功能可能需要调用到很多类,如果后续维护者去维护这个功能的时候也需要清除所调用的每一个类那时间成本太高,而且也不利于维护。各个类之间的联系太多,我们称之为耦合性过高。那么能不能有一个中间类就是为了这个功能服务的,我们只需要把所...原创 2020-04-08 15:02:31 · 237 阅读 · 0 评论 -
关于java Udp收发数据异常的笔记
笔者前段时间在android上用到udp相关的技术,一般来说无非就是接收与发送两个功能。于是笔者就分别开了两条线程分别创建一个DatagramSocket 去负责接收数据与发送数据。岂料出现了发送或接收不能正常进行的错误~~~然后在网上找到原因了:就是把接收和发送数据的操作都在同一个DatagramSocket上进行。笔者试了一下,果然一切正常进行~如果读者发生了笔者类似的错误,而且又原创 2016-01-12 17:21:43 · 2082 阅读 · 2 评论 -
Java动态代理的基本用法
简介在开发中,我们可能会遇到一些类的方法不太合适我们实际的业务逻辑需求,而且我们不想或者不能修改该类的源码的时候我们通常会采用集成重写的方法去达到目标。但是也有些情况下使用继承重写不是那么的方便,那么这个时候我们可以用java的动态代理技术去实现。案例本案例用来演示java动态代理可能不太合适,但是主要是为了演示动态代理的用法,所以不必过于纠结,我们主要看用法!原创 2015-10-27 11:25:29 · 813 阅读 · 0 评论 -
JDBC与MySql:事务
什么是事务? 事务的概念:事务是指逻辑上的一组操作,这组操作要么同时完成要么同时不完成.案例:有一个很经典的银行转账案例,解释了什么是事务,事务的重要性:假设有a,b两个人分别有1000元,a向b转账200元,那么对应地在数据库的操作就是把a的余额值减200,给b的余额值加200。这两个操作分别是由两条sql语句完成的,那么假设在执行第一条sql语句之后数据库发生故障,原创 2015-10-21 15:21:41 · 921 阅读 · 0 评论 -
JDBC:使用PreparedStatement防止SQL注入
1.关于SQL注入什么是SQL注入:由于jdbc程序在执行的过程中sql语句在拼装时使用了由页面传入参数,如果用户恶意传入一些sql中的特殊关键字,会导致sql语句意义发生变化,这种攻击方式就叫做sql注入,参考用户注册登录案例。 首先看一下以下代码:String sql = "select* from users where username='" + userName原创 2015-10-20 14:35:38 · 15855 阅读 · 4 评论 -
JDBC:使用映射增加JDBC语句通用性
以下是一段使用jdbc连接MySql的代码:public static void main(String[] args) { Connection conn = null; Statement state = null; ResultSet set = null; try { // 注册数据库驱动 DriverManager.registerDriver(n原创 2015-10-16 16:03:37 · 698 阅读 · 0 评论 -
JDBC:JDBC资源释放的细节问题
在上篇博客介绍了jdbc的基本用法,其中有一段代码是这样的:public static void main(String[] args) { Connection conn = null; Statement state = null; ResultSet set = null; try {原创 2015-10-16 15:00:03 · 12592 阅读 · 8 评论 -
JDBC与MySql:手把手教你JDBC入门
之前写了一堆MySql数据库的操作方法,都是在cmd命令下操作的。那么我们在cmd窗口下增删改查对于我们实际开发也没什么卵用~因为我们写出来的程序总不可能需要保存数据的时候就打开cmd窗口插入几条数据,需要读取数据的时候就在cmd窗口查询一下,然后把结果复制到我们所写的程序中吧~显然数据库不是这么用的。 正确的使用方法是直接用程序跟数据库沟通,而笔者本身是android开发的,所以这里就原创 2015-10-16 11:11:25 · 8989 阅读 · 0 评论 -
使用java8轻松处理日期
可能Oracle也意识到java处理日期的能力的不足,所以在Java8新增了 LocalDate和LocalTime接口。众所周知java.util.Date的月份是从0开始算起~0代表一月,1代表二月~呵呵。确实刚开始接触的时候笔者也用得很纠结~~很烦躁~不过Java8的LocalDate已经改进了这一点~~因为LocalDate的月份是利用枚举(enum)储存的。妈妈再也不用担心我原创 2015-08-20 10:00:15 · 7230 阅读 · 0 评论 -
Java注解解析(三)——解析自定义注解
在上一篇文章中我们简单的说了怎样自定义注解。那么我们自定义的注解到底有什么用呢?绝不可能只是一个标记吧,是可以解析出来的吧。接下来就模仿数据库映射写个例子。下面来说说如何解析自定义注解:解析自定义注解首先我们来自定义一个注解Table也就是数据库里面的表:@Target({ElementType.TYPE}) @Retention(RetentionPolicy.RUNTI原创 2015-08-03 14:41:49 · 1969 阅读 · 0 评论 -
Java注解解析(二)
上一篇博客介绍到注解的分类以及每一种注解的特点。这次来说说自定义注解。在说注解之前先说说元注解。元注解元注解简单来说就是注解的注解。在上一篇博客说到注解根据运行机制可以分为三种。那么我们自定义的注解是属于哪一种呢?其实可以属于任何一种。因为我们可以用元注解给我们自定义的注解标记到底是编译时注解还是运行时注解。元注解主要有以下几种:@Target 用来标原创 2015-07-31 09:47:07 · 678 阅读 · 0 评论 -
Java注解解析(一)
最公司要求要懂点后台开发,于是我就去拿了一份后台的源码~~看了一下发现一大堆@XXX的注解。搞不懂什么意思,看上去还能够影响代码的逻辑好腻害~~不明觉厉~~所以笔者就去学了一下java注解~~JDK中的注解:一般我们看到的最多的注解就是@Override了吧,在各种实现接口的方法或者重写父类的方法上可以看到。JDK注解有三个:@Override 在方法上面写着这个原创 2015-07-30 09:04:28 · 600 阅读 · 0 评论 -
oop知识之控制反转(IOC)
所谓控制反转就是基类控制子类:Interface A{void draw();}//classB实现A接口并在draw调用了fuck,而fuck方法在这里定义为抽象方法。class B impentment A{void draw(){System.out.println("1233211234567");sayHi();fuck();}void sayH原创 2015-06-12 17:34:06 · 651 阅读 · 0 评论