java
文章平均质量分 52
墨回首
这个作者很懒,什么都没留下…
展开
-
保龄球得分计算
起因超无聊的一道题,保龄球得分真是麻烦;今天下午偶然看见结对编程,然后就申请了一下,写了这道题;完全不想解释,超无聊的题代码 public int getBowlingScore(String bowlingCode) { if (bowlingCode==null ||bowlingCode.length()<=0) return 0;原创 2017-05-05 22:12:30 · 2567 阅读 · 0 评论 -
rest api 的首次尝试
REST api 的首次尝试起因这是一道研发岗的试题,据HR小姐姐说是社招的题,我做起来确实有点吃力;因为我不懂商品需要怎么分类,不知道rest api 是啥。。。代码传送门艰难的前行关于数据库:首先是数据库上的:我刚看到题实在不懂多层分级是什么鬼,然后去百度了;看见知乎上面淘宝的实现,真是吓人啊;目前应该搞不明白是啥,于是就搜着搜着,大概明白意思就是一张表存商品,具有商品Id,商品类别,还可以有其原创 2017-05-24 20:04:26 · 282 阅读 · 0 评论 -
Java 套接字
起因其实我不想写起因,一位面试人家让我写一个套接字,不会,输入输出,不会写。唉。。。 写代码吧,现在想想,我认真写java代码也没多久,慢慢来呗;套接字这个怎么理解呢,就是说tcp/udp在运输层,那么上层好多应用都要使用TCP,那么怎么区分呢?这时候就出现了套接字和端口,应用程序自己创建套接字,标记自己的端口,那么分包的时候就有了约束,传回的数据包,也可以根据端口找到位置;Dem原创 2017-05-02 22:05:39 · 349 阅读 · 0 评论 -
牛客网刷题笔记 2
笔记Math.round() 取最近似的值,如果一样大,取偏大的值; Math.round(11.5) 等于12. Math.round(-11.5) 等于11;floor : 意为地板,指向下取整,返回不大于它的最大整数 ceil : 意为天花板,指向上取整,返回不小于它的最小整数java命令用来执行java程序;javac是编译;父类B静态代码块->子类A静态代码块->父类B非静态代原创 2017-04-06 21:39:31 · 238 阅读 · 0 评论 -
JDBC基础
JDBC在任何语言中关于数据库方面的操作都是必须的,也是重要的,今天我们学习一下JDBC的相关操作;首先是不可缺少的JDBC要素 1. 连接,你必须先要和数据库建立连接,这样的话,你就肯定要加载一个数据库的驱动; 2. sql语句,你得有操作啊,还是数据库懂得; 3. 然后很显然,你不能让一个连接和sql语句直接发生关系吧,所以出现了PreparedStatement; 4. 还有的话,就是原创 2017-04-19 19:20:39 · 277 阅读 · 0 评论 -
京东 一面记录
惨痛的经历京东初试就在学校南边两公里,坐公交去的,因为不太会骑自行车;提前半个小时到了,10:30的面试,人很多,我的签到号码是466,所以你懂得;然后就是坐着等呗;接下来就是面试的过程了;项目问了equals和==,这种东西我怎么可能不知道呢,但是讲了半天也没讲清楚,可能还是紧张了;hashmap的结构static的作用,类,变量,方法,为啥main方法是static的;hashcod原创 2017-04-15 12:51:50 · 456 阅读 · 0 评论 -
俄罗斯方块Demo
起因其实是面京东伤心了,问啥啥不会,就拿个项目认真写写,写啥呢?俄罗斯方块呗;主要其实想玩一下io还有序列化;现在都基本实现了一下,下一步就是认真看看这两东西,或者就是看看socket方面的东西,反正就是一句话,玩项目,看书,巩固基础; 代码传送门类图主要参考 这个代码有一些问题,我都改掉了;MVC的架构还是很清楚的吧; 具体类图如下: 遇到的问题游戏方面的问题,形状在碰到墙后,其实是可以旋原创 2017-04-30 19:48:46 · 2149 阅读 · 0 评论 -
Java应急 知识
通配符相关: 首先我们要明白类型擦出是怎么回事,也就是说,类型的确定是编译时确定的;编译时发现你往里存的对象有问题就报错;如果运行了你通过反射强制向里面添加元素其实是随便的; < T >表示某种类型,比如Integer;< ? >表示不知道具体那种类型;< T >简单啊,你添加,读取都是T类型;?呢,不知道是哪种类型,能放进去吗?显然不能啊,你总不能把电视和地球放在一起把,这样会很奇怪;但是?读原创 2017-04-13 19:15:10 · 261 阅读 · 0 评论 -
Java 知识点 集合+异常
集合曾几何时,我还觉得集合好难,以后看吧,可是,我已经大三了啊;我要去找到工作啊,我得参加面试的啊;加油努力吧;Hashmap的实现原理我还是喜欢比较随便的记录一下自己是怎么想的;首先最底层有两种储存结构,数组和链表,数组易随机访问,难删除;链表则刚好相反; 其实你就这么想;有这么一个数组,储存的是某种对象,这个对象呢,有一个键,有一个值;还有一个指向下一对象的指针; 首先是键,它的作用是干啥呢,原创 2017-04-04 21:26:33 · 240 阅读 · 0 评论 -
Java 知识点 类,字符串
知识点哦实例变量和局部变量,名称什么的不重要,简单来说,一个是对象的,另一个是方法内部的;有两点需要注意,第一实例变量自动初始化,比如int初始化0,但是局部变量量不会进行初始化;还有就是局部变量是可以屏蔽实例变量的; static String b = "lalalla"; static { System.out.println(b); //这里就是原创 2017-04-03 23:29:15 · 456 阅读 · 0 评论 -
最低公共祖先LCA
题目ps:这道题来源是剑指offer第50题;但是变种真的好多啊,所以就记录一下;树中两个结点的最低公共祖先:首先我们要明白这个最低公共祖先是啥?对于一个结点,它上面能到达他的都叫做祖先,他的父结点和它的父结点的父结点;树,因为树的不同,这道题有很多变种;比如二叉树?二叉搜索树,或者只是树;热身树 oj有一棵无穷大的满二叉树,其结点按根结点一层一层地从左往右依次编号,根结点编号为1。现在有两个原创 2017-05-15 17:59:57 · 1526 阅读 · 0 评论 -
JDBC进阶 + 数据源
JDBC进阶上回我们知道了,通过工厂模式+配置文件动态连接数据库; 这次的主要目的呢,则是将增删改查想办法重构掉;比如查询,到哪里的操作不都是一样的嘛;所以我们自然就想到了将查询操作重构掉;然后我们思考一下类的组织,有这么一个接口,其中声明了增删改查,我们的类实现这个接口== 我们的类必须实现增删改查,不实现这些,你也叫数据库操作吗?然后我们要将这个类的增删改查的实际操作重构掉;这个类只需要知道该原创 2017-04-25 19:25:13 · 1622 阅读 · 0 评论 -
登录与JDBC
思路我决定自顶向下讲一下,这样比较生动,也比较容易记住;登录登录第一是要有个form,从网页哪里可以将数据提交到后台来;然后Servlet就来处理;@WebServlet(name = "LoginControl",urlPatterns = "/LoginControl")public class LoginControl extends HttpServlet { protected原创 2017-05-21 21:11:07 · 253 阅读 · 0 评论 -
Badminton
badminton验证部分首先大部分函数都有测试用例,本来想TDD的,(由于自己太笨)后来就写成测试了;main函数也可直接执行; 我加了几个命令,settleOrder,结算订单,clear,就是全部预定重置,quit就是退出系统;流程由于输入检测十分复杂,所以就单独写了一个类,我也是第一次如此处理字符串,首先是正则,然后是日期检测,时间检测;输入确认没问题,就可以判断是预定和取消预订了;原创 2017-09-10 21:08:24 · 341 阅读 · 0 评论 -
消息队列 与 邮件发送
起因消息队列顾名思义是发消息的,但是它并不是一个用来发消息功能;它的作用是用于线程与线程间,进程与进程间的通信;消息队列消息队列可认为是一种通用的解决方案,一种进程(线程)间通信的方案;有句话是这样讲的,不要以共享内存来实现通信,而应该通过通信来实现共享内存;当我们想把一件事情共享给多个进程,而又不需要强烈的时间限制,那么通信是一种很好的解决方案;两个进程如果都需要某个变量,那就通过通信传递,原创 2017-08-14 20:06:17 · 1545 阅读 · 0 评论 -
volatile
起因我相信volatile是非常有必要记录一下的;实现原理首先我们知道volatile能保证原子性,但是又不能保证同步,很奇怪吧;但是我写过一个例子,i++;非volatile会存在后面的值比前面小的情况,volatile不存在,只会存在相同的情形;这是为什么呢? 首先我们假定就是多个cpu,每cpu一个线程,我们知道内存里面放了成堆的数据,cpu每次取要用的放在寄存器里,那么多个线程一起处原创 2017-08-07 21:53:28 · 224 阅读 · 0 评论 -
SNS关注
前言这会是一个超级无聊的内容;架构首先我讲一下整体的架构(假装很厉害吧); JedisAdapter用来做Redis的适配,我们对一些redis命令进行封装;RedisKeyUtil 是用来记录redis中的key的;比如我们通过一个实体类别+实体id为key,然后就可以找到这个实体的关注者;相同的,我们可以通过userId+ 实体类别,就可以找到用户在这个方向关注什么了; 然后我们想一原创 2017-08-19 21:27:10 · 454 阅读 · 0 评论 -
评论中心+站内信
起因没有起因其实这节课主要是在将web开发中,一个全新功能是怎么一步一步完成的评论中心数据库中comment的几个索引: 创建日期所构成的索引评论实体类型,和评论的id,比如针对问题的评论,问题的id是27,这些就是针对问题27的所有评论,比如针对评论的评论,评论的id也是27,但这量个就有很大的区别了用户id构成的索引,我们可以轻松的获取一个用户的全部评论,就可以放在用户最近动态里之原创 2017-07-23 19:42:23 · 404 阅读 · 0 评论 -
问题发布与敏感词过滤
起因这其实是上节课的内容了,不过还是记录一下好了;问题发布题外话对一个web程序,架构是不变的,service负责拿数据,上层也不在意你是怎么取得的;所以一个功能的实现,要从建立数据库开始,然后是与之对应的model,然后是DAO层,service,然后controller就可以去的数据了,然后再通过model传到页面上,数据量大的话,可以使用ViewObject 来进行传输;切面可以让我们在业原创 2017-07-23 18:59:01 · 1324 阅读 · 0 评论 -
redis 与赞和踩
前言系统到了要实现赞和踩的阶段了;REDIS总是听nosql,但还真不懂啊原来nosql真的和传统数据库不一样;是依赖与传统中的集合来的redis的应用与集合的特性 hash:在一个hash表里面,键是string,值又是一个hash,然后就可以加很多很多东西;因为hash表本身就可以扩容的嘛;好处就是可以随着对象随便的增多属性或者减少属性;set 和普通的set一样,用于去重,求交集啥原创 2017-08-07 21:13:24 · 1070 阅读 · 0 评论 -
reglogin + interceptor
登陆注册核心思路就是你登陆注册,我判断是否合法,然后创建Ticket,下发Ticket;@Controllerpublic class LoginController { private static final Logger logger = LoggerFactory.getLogger(LoginController.class); @Autowired UserSe原创 2017-07-08 14:02:53 · 308 阅读 · 0 评论 -
Effective Java 笔记1
起因Effective Java 这本书早就买了,然后发现太难,就又买了Java编程思想;现在再看,还是很难啊,不过我决定不求甚解,能看懂就看;反正各种知识其实是交错的,经验多了以后,总还是会懂的吧;我也就是大概记一下,现在理解的,比较好懂的,这样虽然记性不好,但总也会有点印象吧;创建和销毁笔记静态工厂方法代替构造器有名字,构造器需要以参数类型进行区别,但实际上我们可不太能记得住有啥参数,名原创 2017-06-07 21:27:00 · 237 阅读 · 0 评论 -
Java 读书笔记21.3 并发(重点)
并发不自己写真是不知道,其实是有好多问题的,而java编程思想的代码带过太严重了;下面是重点了 1.线程中的对象; 我们会发现,每次有一个新的线程对象初始化的线程是一个独立的;public class Mytest3 implements Runnable { int a=0; @Override public void run() { System.ou原创 2017-03-15 13:34:31 · 182 阅读 · 0 评论 -
剑指Offer 52 构建乘积数组
题目描述给定一个数组A[0,1,…,n-1],请构建一个数组B[0,1,…,n-1],其中B中的元素B[i]=A[0]A[1]…A[i-1]*A[i+1]…*A[n-1]。不能使用除法。思路想想一个矩阵代码 public int[] multiply(int[] A) { int length = A.length; int [] C = new int[leng原创 2017-04-09 17:32:24 · 201 阅读 · 0 评论 -
Java 读书笔记 21.2 并发
并发public abstract class IntGenerator { private volatile boolean canceled = false; public abstract int next(); // Allow this to be canceled: public void cancel() { canceled = true; }原创 2017-03-14 08:52:38 · 168 阅读 · 0 评论 -
Java 读书笔记2
一切都是对象1.引用和对象(java编程思想中这样讲) Classa a; //此处可理解为引用,就是说起好名字啦,但是对象还没初始化呢 a= new Classa(); //初始化后,对象才被创建成功;2.储存中的堆与栈; http://stackoverflow.com/questions/79923/what-and-where-are-the原创 2017-02-22 13:10:18 · 243 阅读 · 0 评论 -
Java 读书笔记1
对象导论1.类和类型实际上是同意的,整型,浮点型其实也是一种类;且対象定义方式都一样; int a; //整型 Test test1; //Test类2.刚刚傻了,居然在想子类是否可以拥有自己的方法、、、、而且还试了一下代码。当然可以了啊!但是再想想的话,其实父类能做的事一定小于等于子类所做的事情,子类相对父类可以进行扩展; uml设计模式中:子类原创 2017-02-20 21:24:52 · 417 阅读 · 0 评论 -
Java 读书笔记 14.1-14.6 RTTI
RTTIRuntime Type Information 好吧,时隔多日我又来啃这块骨头了;RTTI顾名思义 运行时类型信息;编译的时候不知道,只有当具体运行时才知道是什么类型信息;Java编程思想好像也没说是怎么具体实现的;我也只能管中窥豹了;首先,我们知道多态,那么多态是啥呢? 维基百科说: 多态也可定义为“一种将不同的特殊行为和单个泛化记号相关联的能力”这就让我想起了继承关系;不论是哪个原创 2017-03-08 20:37:48 · 187 阅读 · 0 评论 -
Java 读书笔记13 字符串
字符串不可变的字符串早就听说java字符串是不变的;那么到底是怎么回事呢?public class Immutable { public static String upcase(String s) { return s.toUpperCase(); } public static void main(String a[]) {原创 2017-03-04 15:52:05 · 177 阅读 · 0 评论 -
坑人的环境变量
classpath本来要看字符串的,结果一直在折腾环境变量; 书上开始出现字节码;然后我也想看啊;但是intellij idea 有没有直接的; 于是参考了这里 ; 但是始终报错,说无法找到类什么的;然后就搜索javap相关的,结果什么都没有;然后找了好久;发现这其实是一个非常原始的问题,我的电脑压根没有配置 classpath,所以怎么可能找得到呢?最重要的这个喵原创 2017-03-03 22:00:42 · 232 阅读 · 0 评论 -
Java 读书笔记12 异常处理
异常处理这章偏向实际,笔记没法记;真正多用就会了try-catch-finally 规则(异常处理语句的语法规则):1) 必须在 try 之后添加 catch 或 finally 块。try 块后可同时接 catch 和 finally 块,但至少有一个块。 2) 必须遵循块顺序:若代码同时使用 catch 和 finally 块,则必须将 catch 块放在 try 块之后。 3) catc原创 2017-03-02 21:18:34 · 184 阅读 · 0 评论 -
Java 读书笔记3
操作符1.赋值和引用; =我们最常见;意思可以使等于,也可以是赋值,在Java中,赋值也是有坑的public class Tank { int level;} public static void main(String[] args) { Tank tank1 = new Tank(); tank1 .level = 1; Tank t原创 2017-02-22 14:39:13 · 177 阅读 · 0 评论 -
Java 读书笔记 11 持有对象
持有对象泛型1.简单来说 ArrayAlist可以限制只储存Apple类及其子类,限制其他类对象 这部分偏向于介绍具体的操作,就简单写了;这种东西不写写,不可能记得住;listArayList,基本和数组一个模式,随机访问简单,插入删除比较麻烦LinkedList,链表嘛,肯定是插入删除简单,随机访问麻烦;Iterator1.可以简单的理解为,通过Iterator,我们可以将容器内的对象简单原创 2017-03-01 21:57:45 · 273 阅读 · 0 评论 -
Java 读书笔记10 内部类
内部类可访问外围类1. 外围类就是包含内部类的那个类的啦public class Sequence { private Object[] items= new Object[5]; private class SequenceSelector implements Selector { private int i ; @Overri原创 2017-02-28 21:43:55 · 229 阅读 · 0 评论 -
Java 读书笔记 5
初始化与清理1.重载和区分重载 : 书上例子很好,洗衣服,洗车,洗狗;同样都是洗,却洗的是不一样的东西,似乎用一个名字做不同的事情,理所应当; 而且呢,还告诉我们为什么不一样,因为给的参数不一样,当来着是衣服的时候,就用洗衣服的方式来洗,如果是车,就用车的方式; 不可以通过返回值区分,你洗狗洗出来特干净,他就不干净,但是方法实际是相同的; 不可以通过访问修饰符区分,你就给你家洗衣服,洗衣店谁原创 2017-02-23 19:13:50 · 478 阅读 · 0 评论 -
Java 垃圾回收 (未完成)
垃圾回收早就知道java会垃圾回收了,但是对其中道理一点都不了解,我想成为大神,还是必须要多懂一些,多会一些,多写一些吧;垃圾回收的算法和思想引用计数法 这个相当于计数,因为java每个变量的名字实际上是一种引用,我们可以给一个对象很多引用,那么同时,当对象没有引用的时候,说明这个对象没有用了,可以扔掉了; ps:对象都没有引用了,说明这块地址,这个对象,程序已经使用不了,那就赶紧清理呗tr原创 2017-02-23 19:44:17 · 201 阅读 · 0 评论 -
Java 读书笔记6
访问权限控制其实这部分已经不用像java编程思想中讲的那么麻烦了;1.java中关于编译的简单内容 首先java程序跑起来,会生成.class,这个.class会在环境变量\包名这里; 然后import的时候,找到这个class就可以啦; 2.以private构造方法的单例设计模式,日后再说喽,其实之前应该写过;3.protected的方法主要用来干啥呢? 因为在继承中,可能子原创 2017-02-25 14:39:54 · 246 阅读 · 0 评论 -
剑指Offer 47 不用加减乘除做加法
题目描述写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。思路依靠位运算,其实真的很巧妙对于+运算,难点其实就在进位运算; (101+10001)不考虑进位就是=10100;就是异或运算,只有一个1一个0才等于1;然后考虑进位,两个都是1才可能产生进位;也就是与运算;然后在左移一位即可;代码 static public int Add1(int num1,in原创 2017-04-08 20:29:56 · 186 阅读 · 0 评论 -
Java 读书笔记 21.1并发
并发终于来到这里了,好开心;线程定义public class Liftoff implements Runnable{ //接口 @Override public void run() { //实现run方法 }}public static void main(String []arg){ //第一种 Liftoff原创 2017-03-12 19:35:55 · 187 阅读 · 0 评论 -
牛客网刷题笔记 1
刷题实验室锁门了,因为清明节,剑指Offer在教室,大话数据结构在教室,所有书都在教室。。。。除了电脑,所以刷刷题吧;记一下笔记;1 多态是对于什么的? (未完成)下面函数到底输出什么呢?public class Base{ private String baseName = "base"; public Base() { callName();原创 2017-04-03 15:45:24 · 296 阅读 · 0 评论