From a912d72179407647890cdb004bb3c26103123811 Mon Sep 17 00:00:00 2001 From: Claudio Maggioni Date: Wed, 21 Sep 2022 18:10:58 +0200 Subject: [PATCH] hw1: done --- .gitignore | 380 ++++++++++++++++++++++++++++++++++++++++++++++++ hw1/answers.pdf | Bin 0 -> 50031 bytes hw1/answers.tex | 74 ++++++++++ 3 files changed, 454 insertions(+) create mode 100644 .gitignore create mode 100644 hw1/answers.pdf create mode 100644 hw1/answers.tex diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..3a69761 --- /dev/null +++ b/.gitignore @@ -0,0 +1,380 @@ +# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider +# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 + +# User-specific stuff +.idea/**/workspace.xml +.idea/**/tasks.xml +.idea/**/usage.statistics.xml +.idea/**/dictionaries +.idea/**/shelf + +# AWS User-specific +.idea/**/aws.xml + +# Generated files +.idea/**/contentModel.xml + +# Sensitive or high-churn files +.idea/**/dataSources/ +.idea/**/dataSources.ids +.idea/**/dataSources.local.xml +.idea/**/sqlDataSources.xml +.idea/**/dynamic.xml +.idea/**/uiDesigner.xml +.idea/**/dbnavigator.xml + +# Gradle +.idea/**/gradle.xml +.idea/**/libraries + +# Gradle and Maven with auto-import +# When using Gradle or Maven with auto-import, you should exclude module files, +# since they will be recreated, and may cause churn. Uncomment if using +# auto-import. +# .idea/artifacts +# .idea/compiler.xml +# .idea/jarRepositories.xml +# .idea/modules.xml +# .idea/*.iml +# .idea/modules +# *.iml +# *.ipr + +# CMake +cmake-build-*/ + +# Mongo Explorer plugin +.idea/**/mongoSettings.xml + +# File-based project format +*.iws + +# IntelliJ +out/ + +# mpeltonen/sbt-idea plugin +.idea_modules/ + +# JIRA plugin +atlassian-ide-plugin.xml + +# Cursive Clojure plugin +.idea/replstate.xml + +# SonarLint plugin +.idea/sonarlint/ + +# Crashlytics plugin (for Android Studio and IntelliJ) +com_crashlytics_export_strings.xml +crashlytics.properties +crashlytics-build.properties +fabric.properties + +# Editor-based Rest Client +.idea/httpRequests + +# Android studio 3.1+ serialized cache file +.idea/caches/build_file_checksums.ser + +## Core latex/pdflatex auxiliary files: +*.aux +*.lof +*.log +*.lot +*.fls +*.out +*.toc +*.fmt +*.fot +*.cb +*.cb2 +.*.lb + +## Intermediate documents: +*.dvi +*.xdv +*-converted-to.* +# these rules might exclude image files for figures etc. +# *.ps +# *.eps +# *.pdf + +## Generated if empty string is given at "Please type another file name for output:" +.pdf + +## Bibliography auxiliary files (bibtex/biblatex/biber): +*.bbl +*.bcf +*.blg +*-blx.aux +*-blx.bib +*.run.xml + +## Build tool auxiliary files: +*.fdb_latexmk +*.synctex +*.synctex(busy) +*.synctex.gz +*.synctex.gz(busy) +*.pdfsync + +## Build tool directories for auxiliary files +# latexrun +latex.out/ + +## Auxiliary and intermediate files from other packages: +# algorithms +*.alg +*.loa + +# achemso +acs-*.bib + +# amsthm +*.thm + +# beamer +*.nav +*.pre +*.snm +*.vrb + +# changes +*.soc + +# comment +*.cut + +# cprotect +*.cpt + +# elsarticle (documentclass of Elsevier journals) +*.spl + +# endnotes +*.ent + +# fixme +*.lox + +# feynmf/feynmp +*.mf +*.mp +*.t[1-9] +*.t[1-9][0-9] +*.tfm + +#(r)(e)ledmac/(r)(e)ledpar +*.end +*.?end +*.[1-9] +*.[1-9][0-9] +*.[1-9][0-9][0-9] +*.[1-9]R +*.[1-9][0-9]R +*.[1-9][0-9][0-9]R +*.eledsec[1-9] +*.eledsec[1-9]R +*.eledsec[1-9][0-9] +*.eledsec[1-9][0-9]R +*.eledsec[1-9][0-9][0-9] +*.eledsec[1-9][0-9][0-9]R + +# glossaries +*.acn +*.acr +*.glg +*.glo +*.gls +*.glsdefs +*.lzo +*.lzs +*.slg +*.slo +*.sls + +# uncomment this for glossaries-extra (will ignore makeindex's style files!) +# *.ist + +# gnuplot +*.gnuplot +*.table + +# gnuplottex +*-gnuplottex-* + +# gregoriotex +*.gaux +*.glog +*.gtex + +# htlatex +*.4ct +*.4tc +*.idv +*.lg +*.trc +*.xref + +# hyperref +*.brf + +# knitr +*-concordance.tex +# TODO Uncomment the next line if you use knitr and want to ignore its generated tikz files +# *.tikz +*-tikzDictionary + +# listings +*.lol + +# luatexja-ruby +*.ltjruby + +# makeidx +*.idx +*.ilg +*.ind + +# minitoc +*.maf +*.mlf +*.mlt +*.mtc[0-9]* +*.slf[0-9]* +*.slt[0-9]* +*.stc[0-9]* + +# minted +_minted* +*.pyg + +# morewrites +*.mw + +# newpax +*.newpax + +# nomencl +*.nlg +*.nlo +*.nls + +# pax +*.pax + +# pdfpcnotes +*.pdfpc + +# sagetex +*.sagetex.sage +*.sagetex.py +*.sagetex.scmd + +# scrwfile +*.wrt + +# svg +svg-inkscape/ + +# sympy +*.sout +*.sympy +sympy-plots-for-*.tex/ + +# pdfcomment +*.upa +*.upb + +# pythontex +*.pytxcode +pythontex-files-*/ + +# tcolorbox +*.listing + +# thmtools +*.loe + +# TikZ & PGF +*.dpth +*.md5 +*.auxlock + +# titletoc +*.ptc + +# todonotes +*.tdo + +# vhistory +*.hst +*.ver + +# easy-todo +*.lod + +# xcolor +*.xcp + +# xmpincl +*.xmpi + +# xindy +*.xdy + +# xypic precompiled matrices and outlines +*.xyc +*.xyd + +# endfloat +*.ttt +*.fff + +# Latexian +TSWLatexianTemp* + +## Editors: +# WinEdt +*.bak +*.sav + +# Texpad +.texpadtmp + +# LyX +*.lyx~ + +# Kile +*.backup + +# gummi +.*.swp + +# KBibTeX +*~[0-9]* + +# TeXnicCenter +*.tps + +# auto folder when using emacs and auctex +./auto/* +*.el + +# expex forward references with \gathertags +*-tags.tex + +# standalone packages +*.sta + +# Makeindex log files +*.lpz + +# xwatermark package +*.xwm + +# REVTeX puts footnotes in the bibliography by default, unless the nofootinbib +# option is specified. Footnotes are the stored in a file with suffix Notes.bib. +# Uncomment the next line to have this generated file ignored. +#*Notes.bib + diff --git a/hw1/answers.pdf b/hw1/answers.pdf new file mode 100644 index 0000000000000000000000000000000000000000..92ba2289167a90262d36a88a381fffd0a1035470 GIT binary patch literal 50031 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 B!I%I5 literal 0 HcmV?d00001 diff --git a/hw1/answers.tex b/hw1/answers.tex new file mode 100644 index 0000000..fb88a9b --- /dev/null +++ b/hw1/answers.tex @@ -0,0 +1,74 @@ +% vim: set ts=2 sw=2 et tw=80: + +\documentclass[12pt,a4paper]{article} +\usepackage[utf8]{inputenc} +\usepackage[margin=2cm]{geometry} + +\title{Howework 1 -- Advanced Java Programming} + +\author{Claudio Maggioni} + +\begin{document} +\maketitle + +\section{Exercise A} + +\begin{itemize} + \item + 1: True + \item + 2: False (Required only if the class implements Comparable) + \item + 3: True + \item + 4: False (== for objects checks for reference equality) + \item + 5: False (it is indeed implemented by default - i.e.~in Object, but + the default implementation checks reference equality only) + \item + 6: False (a child class of Tiger may include additional fields that + are mutable. However, all properties and behaviour accessible via a + reference of Tiger type is immutable) + \item + 7: False (the class is not public) + \item + 8: False (classes in the same package can read the name field) + \item + 9: True (the constructor to implement must explicitly call Tiger's + constructor with super) + \item + 10: False (the declared type is Number, the runtime type is Integer) +\end{itemize} + +\section{Exercise B} + +\begin{itemize} + \item + 1: False (the only `collection' data structure based over an unboxed + primitive type is the array) + \item + 2: True (if the hashCode() return value changes after the mutation then the + implementation of hashMap is unable to recognize it was inserted previously) + \item + 3: True + \item + 4: True + \item + 5: False (finally blocks are always evaluated) +\end{itemize} + +\section{Exercise C} + +\begin{itemize} + \item 1: True + \item 2: False + \item 3: True + \item 4: True (more precisely, double dispatch or 'virtual table' invocations + are used only for invoking the method in the class matching the object's + dynamic type) + \item 5: True (as the method called depends on the runtime or dynamic type of + the caller object) +\end{itemize} + +\end{document} +